我有一个静态类,我用来保存我的测试数据。当我在NUnit测试中引用它时,我所做的任何更改都会在测试中持续存在。NUnit在测试中保持静态数据
例如,我在我的测试验证码:
OrderDto orderDto = SampleData.OrderDto;
OrderDetailDto orderDetailDto = SampleData.OrderDetailDto;
orderDto.OrderDetails.Add(orderDetailDto);
和样本数据是这样的:
public static class SampleData {
public static OrderDto OrderDto = new OrderDto { LastName = "Smith", CreatedById = 5, CreatedByDisplayName = "Smith2" };
}
我第一次运行它,orderDto有0订单明细。第二次有1,然后2等。我认为在NUnit测试之间,什么都没有持续。它缓存静态属性吗?
它正在更新静态对象,因为有一个实例,这就是您的测试所做的。单元测试就像普通代码一样;如果他们更新一个静态字段,那么该字段会被更新。现在,每次调用此方法时都会返回一个新实例,这意味着更改仅影响当前实例。 – TrueWill 2011-05-29 23:09:06