Я создаю построитель образцов AutoFixture для определенного типа, в данном случае System.Data.DataSet
. Строитель вернет FakeDataSet
, который является настроенным DataSet
для тестирования.
Не работает работа с DataSet
, всегда возвращающая нуль, даже когда запрашивается a DataSet
(я могу сказать, свернув в свойства request
).
public class DataSetBuilder : ISpecimenBuilder
{
public object Create(object request, ISpecimenContext context)
{
var dataSet = request as DataSet;
if (dataSet == null)
{
return new NoSpecimen(request);
}
return new FakeDataSet();
}
}
Этот вариант действительно работает, но кажется слишком сложным. Кажется, что есть лучший способ сделать то же самое, и я просто что-то пропустил.
public class DataSetBuilder : ISpecimenBuilder
{
public object Create(object request, ISpecimenContext context)
{
var seededRequest = request as SeededRequest;
if (seededRequest == null)
{
return new NoSpecimen(request);
}
var requestType = seededRequest.Request as Type;
if (requestType == null)
{
return new NoSpecimen(request);
}
if (requestType.Name != "DataSet")
{
return new NoSpecimen(request);
}
return new FakeDataSet();
}
}