MSTest 中 [TearDown] 和 [SetUp] 的替代方法是啥?

Posted

技术标签:

【中文标题】MSTest 中 [TearDown] 和 [SetUp] 的替代方法是啥?【英文标题】:What would be an alternate to [TearDown] and [SetUp] in MSTest?MSTest 中 [TearDown] 和 [SetUp] 的替代方法是什么? 【发布时间】:2011-09-05 19:55:02 【问题描述】:

当我使用 MSTest 框架并复制 Selenium IDE 为我生成的代码时,MSTest 无法识别 [TearDown][SetUp]。有什么替代方法?

【问题讨论】:

为什么我们总是要为同样的旧东西发明一些新的名字? 【参考方案1】:

您将分别使用[TestCleanup][TestInitialize]

【讨论】:

设置 = [TestInitialize]; TearDown = [TestCleanup]【参考方案2】:

请记住,您的 Initialize/Cleanup 方法必须使用正确的签名。

http://msdn.microsoft.com/en-us/library/microsoft.visualstudio.testtools.unittesting.classinitializeattribute.aspx

    [AssemblyInitialize()]
    public static void AssemblyInit(TestContext context) 

    [ClassInitialize()]
    public static void ClassInit(TestContext context) 

    [TestInitialize()]
    public void Initialize() 

    [TestCleanup()]
    public void Cleanup() 

    [ClassCleanup()]
    public static void ClassCleanup() 

    [AssemblyCleanup()]
    public static void AssemblyCleanup() 

【讨论】:

+1 用于 AssemblyInitialize 和 AssemblyCleanup 此处未提及 ***.com/a/1873572/864201 @dunken 我们知道即使测试用例执行失败,TestCleanup() 也会被执行?【参考方案3】:

[TestInitialize][TestCleanup] 在个人测试级别,[ClassInitialize][ClassCleanup] 在班级级别。

【讨论】:

【参考方案4】:

您可以将[TestInitialize] 用于[SetUp],将[TestCleanup] 用于[TearDown]

【讨论】:

以上是关于MSTest 中 [TearDown] 和 [SetUp] 的替代方法是啥?的主要内容,如果未能解决你的问题,请参考以下文章

使用 MSTEST 和 Selenium 在并行 Web 测试中中止线程

MSTest 和 app.config 问题

解释测试用例中使用的“setUp”和“tearDown”Python方法

setUp/tearDown 方法中的测试名称

app.configs 和 MSTest 项目 - 连接字符串的空引用

setup和teardown