До вы должны убедиться, что данные не сохраняются при юнит-тестах.При выполнении сборка модульного теста ведет себя так же, как обычная сборка, поэтому любая инициализируемая вами статика остается такой же на время теста.
Большинство структур модульных тестов предоставляют способ инициализации и очистки вашего состояния дои после теста.В NUnit способ сделать это - использовать метод с атрибутом [SetUp]
.Этот метод выполняется перед каждым тестом.
Самый простой способ добиться того, чего, я думаю, вы хотите достичь, - это инициализировать поле члена в TestSetup
и использовать его между различными тестами.Обратите внимание, что здесь мы не используем статический элемент, что означает, что нам не нужно очищать его после теста.
[TestFixture]
public class MyTests {
OrderDto OrderDto;
OrderDetailDto;
[SetUp]
public void Setup() {
_OrderDto = new OrderDto { LastName = "Smith", CreatedById = 5, CreatedByDisplayName = "Smith2" };
_OrderDetailDto = new OrderDetailDto {/*Sample data*/};
}
[Test]
public void TestOrderDetailIsAddedToOrder() {
orderDto.OrderDetails.Add(_OrderDetailDto);
}
}