我有两个NUnit TesFixture&#39s-TestClass1& TestClass2派生自一个类 - TestBase。每个灯具的设置包含:
_unityContainer = new UnityContainer();
_unityContainer.RegisterInstance(_dataManager);
DependencyResolver.SetResolver(new UnityDependencyResolver(_unityContainer));
在每个灯具的测试中,我使用一些数据初始化_dataManager
。
所有测试都测试相同的模型,模型构造函数包含:
var dataManager = DependencyResolver.Current.GetService<IDataManager>();
如果我分别运行每个TestFixture,则每个模型都会从IDataManager
中解析出正确的DependencyResolver
。但是,如果我同时运行两个TestFixture,那么在TestClass2的测试中创建的模型将解析在TestClass1中创建的IDataManager
。
要运行测试,请使用ReSharper。看来,灯具在一起运行时会分享一些资源。
这种行为的原因是什么?