运行Microsoft Unit Test Framework时每个构建的顺序是什么?

时间:2017-04-20 21:52:10

标签: c# unit-testing msbuild mstest

这是独家新闻: 我有一个简单的测试类:

[TestClass]
public class TestClass
{
    [TestMethod]
    [DataSource("System.Data.SqlClient", DATA_CONN, "myData", DataAccessMethod.Sequential)]
    public void Test(){}

    [AssemblyInitialize]
    public void AssemblyInit(TestContext context)
    {
        RecreateView("myData"); //why I'm doing this is irrelevant to the question
    }
}

当我在临时项目中运行它时,我的AssemblyInit()方法首先运行,创建表,测试很愉快。当我在一个包含大量测试的更大项目中运行它时,首先使用[DataSource]属性构建测试方法,然后调用AssemblyInit()方法。 简而言之:

小项目 - 好

  1. Assembly init重新创建视图
  2. 测试读取视图
  3. 大项目 - 不好

    1. 测试读取视图
    2. Assembly init重新创建视图
    3. 我在每个项目中只有一个[AssemblyInitialize]方法。它似乎也只在当地发生。有没有办法保证[AssemblyInitialize]方法在测试尝试读取数据之前运行?

0 个答案:

没有答案