AssemblyCleanup 不是 运行。

AssemblyCleanup Not being run.

我遇到一个问题,我的 [AssemblyCleanup] 方法没有被调用。

我目前正在构建一个自动化框架,并希望在我的测试前后完成一些 API 调用。从那以后,我找到了汇编 initialize/cleanup 方法,它们非常适合我需要做的事情。但是我无法将 [AssemblyCleanup] 方法获取到 运行。

我有一个基础 class,我的测试从中继承,这就是我希望放置 [AssemblyCleanup] 方法的地方。

我的class。

    [TestClass]
public class TestBaseChrome: WebDriver
{
    public TestContext TestContext { get; set; }

    [TestInitialize]
    public void Initialize()
    {
      //Do Stuff Here for tests
    }

    [TestCleanup]
    public void Cleanup()
    {
        //used for end of test reporting
    }

    [AssemblyCleanup]
    public static void EndOfSuiteActions()
    {            
        //Stuff here when whole test suite finished
    }
}

我看过示例 here and here 并表明 [AssemblyCleanup] 需要在具有 [TestClass] 属性的 class 中。如果我通过实际测试将 [AssemblyCleanup] 放在 class 中,它会按预期工作。但我希望我之前的所有 tests/after 测试都集中在一个地方。

如有任何建议,我们将不胜感激。

我相信我已经找到了我自己问题的答案。

如果 [TestClass] 继承自派生 class 的不同程序集中的基 class,则基 class [AssemblyInitialize][AssemblyCleanup] 方法没有执行。

Source

因为我的自动化测试在解决方案中的两个项目中(一个处理框架,一个处理测试)并且作为基础 class 在框架中,但测试是另一个项目。我在 link.

中遇到了问题