我有一个通过MTM运行30多个测试的套件。他们进行了硒测试,需要20多分钟才能运行。这些测试中有6个是新的(2次测试,每次3次迭代),每次测试都会出于同样的原因出错。
这里有一个问题: 他们在当地通过 2.单独运行时通过
具体错误来自Castle ActiveRecord,告诉我初始化一个我在代码中最明确初始化的类。
[TestMethod]
public void Test(){
Initialize();
//do test
}
public void Initialize(){
if(!ActiveRecordStarter.IsInitialized){
Type[] types = //typeof each castle class;
InPlaceConfigurationSource source = new InPlaceConfigurationSource();
//set up source
...
ActiveRecordStarter.Initialize(source, types);
}
}
答案 0 :(得分:0)
MTM在不重新启动程序集的情况下运行所有测试。如果Castle测试在我的测试失败之前运行,它将初始化ActiveRecordStarter,并通过我的测试保持初始化。出于某种原因,我的测试不喜欢这个(没有回答原因),但在ActiveRecordStarter.ResetInitializationFlag();
检查之前调用IsInitialized
修复了错误。