AssemblyInitialize方法在测试之前不运行

时间:2017-05-24 08:43:35

标签: c# unit-testing mstest

我正在使用MsTest V2 framewrok进行测试。 我有测试自动化框架(TAF)项目和测试项目。 测试从TAF继承的项目,仅包含测试。 在TAF中我有一个类,其中包含应该在所有测试之前运行的方法,但它根本不起作用。 顺便说一句,BeforeTest方法工作正常。

public class TestBase
{
    [AssemblyInitialize]
    public static void BeforeClass(TestContext tc)
    {
        Console.WriteLine("Before all tests");
    }
    [TestInitialize]
    public void BeforeTest()
    {
        Console.WriteLine("Before each test");
    }
}


[TestClass]
public class FirstTest : TestBase
{
    [TestMethod]
    public void FailedTest()
    {
        Assert.IsTrue(false,"ASDASDASD");
    }
}

如果我把" AssemblyInitialize"测试项目的方法,然后它工作。

我做错了什么?

1 个答案:

答案 0 :(得分:8)

只需将[TestClass]放到TestBase

[TestClass]
public class TestBase
{
    [AssemblyInitialize]
    public static void BeforeClass(TestContext tc)
    {
       Console.WriteLine("Before all tests");
    }

    [TestInitialize]
    public void BeforeTest()
    {
           Console.WriteLine("Before each test");
    }
}