В настоящее время у меня есть класс модели, который содержит несколько свойств. Упрощенная модель может выглядеть так:
public class SomeClass
{
public DateTime ValidFrom { get; set; }
public DateTime ExpirationDate { get; set; }
}
Теперь я выполняю некоторые модульные тесты с помощью NUnit и использую AutoFixture для создания некоторых случайных данных:
[Test]
public void SomeTest()
{
var fixture = new Fixture();
var someRandom = fixture.Create<SomeClass>();
}
Это работает до сих пор. Но есть требование, чтобы дата ValidFrom
всегда была ExpirationDate
. Я должен обеспечить это, так как я выполняю некоторые положительные тесты.
Итак, есть ли простой способ реализовать это с помощью AutoFixture? Я знаю, что могу создать дату исправить и добавить случайный интервал дат, чтобы решить эту проблему, но было бы замечательно, если бы AutoFixture могла справиться с этим требованием.
У меня нет большого опыта работы с AutoFixture, но я знаю, что могу получить ICustomizationComposer
, вызвав метод Build
:
var fixture = new Fixture();
var someRandom = fixture.Build<SomeClass>()
.With(some => /*some magic like some.ValidFrom < some.ExpirationDate here...*/ )
.Create();
Может быть, это правильный способ достичь этого?
Заранее благодарим за помощь.