我有一个抽象的基类,它对一个方法应用了一个AssemblyInitialize属性。但它永远不会被执行…抽象基测试类位于另一个程序集中,因为它用于泛型扩展。有什么办法解决这个问题吗?
守则

[TestClass]
public abstract BaseTestClass
{
   [AssemblyInitialize]
   public static void AssemblyInit(TestContext context)
   {
      //DoDomething
   }
}

提前谢谢

最佳答案

之所以会发生这种情况,是因为如果不从程序集运行测试,则它永远不会初始化。我能给出的一个解决方案(可能是一个愚蠢的解决方案)是在其他程序集上使用AssemblyInitialize并调用baseAssemblyInitialize
在包含测试的TestProject中添加以下代码:

[TestClass]
public class UnitTest1
{
    [AssemblyInitialize]
    public static void AssemblyInitialize(TestContext testContext)
    {
        // call the base AssemblyInitialize
        BaseTestProject.BaseTest.AssemblyInitialize(testContext);
    }

    public TestContext TestContext { get; set; }
}

08-06 19:14