无法解释的 Castle 和 MTM 错误

Unexplained Castle and MTM errors

我有一个套件,运行通过 MTM 进行了 30 多个测试。它们是 selenium 测试,需要 20 多分钟才能 运行。其中 6 个测试是项目的新测试(2 个测试,每个测试 3 个迭代),并且每次它们 运行.

时都出于相同的原因出错

重点是: 1.他们在当地通过 2. 当运行个

时他们通过

具体错误来自 Castle ActiveRecord 告诉我初始化 class 我已经在代码中进行了最明确的初始化。

[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);
    }
}

MTM 在不重新启动程序集的情况下运行所有​​测试。如果 Castle 测试在我失败的测试之前运行,它将初始化 ActiveRecordStarter,并在我的测试中保持初始化状态。出于某种原因,我的测试不喜欢这样(还没有回答为什么),但是在 IsInitialized 检查之前调用 ActiveRecordStarter.ResetInitializationFlag(); 修复了错误。