Использование автокрепления в моих тестах интеграции данных для создания прокси
Я пытаюсь написать набор тестов интеграции базы данных для моего домена, который использует Entity Framework. Я предпочел бы авто-прикреплять объекты в некоторых сценариях. Мой идеальный синтаксис был бы что-то вроде
[TestMethod]
public void AutofixtureMyEntityEntity()
{
var fixture = new Fixture();
fixture.Customize(
c => c.FromFactory(ctx => ctx.Set().Create()));
using (var context = new MyDbContext())
{
fixture.Inject(context);
var entity = fixture.CreateAnonymous();
context.Set().Add(entity);
context.SaveChanges();
}
}
[TestMethod]
[ExpectedException(typeof(InvalidOperationException))]
public void AutoFixtureMyEntityEntityWithoutInjection()
{
var fixture = new Fixture();
fixture.Customize(
c => c.FromFactory(ctx => ctx.Set().Create()));
using (var context = new MyDbContext())
{
var entity = fixture.CreateAnonymous();
context.Set().Add(entity);
context.SaveChanges();
}
}
Очевидно, это нет работает сCreateAnonymous()
ISN»ожидание входного параметра для фабрики. Я могу только предположить, что у меня есть ошибочное понимание того, чтоFromFactory()
обеспечивает. Хотя комментарий гласит,
/// Specifies that a specimen should be created in a particular way, using a single input
/// parameter for the factory.
После прочтенияблог ploehsЯЯ немного больше смущен тем, как эти части взаимодействуют друг с другом.
ПримерMyDbContext
во время фабричного вызова не экземпляр, который я передалInject()