AssemblyCleanup未运行。

时间:2016-05-23 11:56:09

标签: 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
    }
}

我看过示例herehere并显示[AssemblyCleanup]需要位于具有[TestClass]属性的类中。如果我将[AssemblyCleanup]放在具有实际测试的类中,它将按预期工作。但我希望我以前的所有测试/测试后都能进行一次测试。

任何建议都将不胜感激。

1 个答案:

答案 0 :(得分:4)

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

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

Source

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

相关问题