AssemblyCleanup 未运行。

Kpi*_*zle 4 c# ui-automation vs-unit-testing-framework

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

我目前正在构建一个自动化框架,并希望在我的测试之前和之后完成一些 API 调用。我已经找到了程序集初始化/清理方法,它们非常适合我需要做的事情。但是我无法[AssemblyCleanup]运行该方法。

我有一个我的测试固有的基类,这就是我想要[AssemblyCleanup]放置方法的地方。

我的课。

    [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
    }
}
Run Code Online (Sandbox Code Playgroud)

我已经在这里这里看到了示例,并表明[AssemblyCleanup]需要在具有该[TestClass]属性的类中。如果我将它[AssemblyCleanup]放在一个带有实际测试的类中,它会按预期工作。但我希望所有的前测试/后测试都放在一个地方。

任何意见,将不胜感激。

Kpi*_*zle 5

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

如果[TestClass]从派生类的不同程序集中的基类继承,则不会执行基类[AssemblyInitialize][AssemblyCleanup]方法。

来源

因此,因为我的自动化测试在解决方案中的两个项目中(一个用于处理框架,一个用于处理测试)并且基类在框架中,但测试是另一个项目。我在链接中遇到了这个问题。