Visual Studio单元测试:SetUp和TearDown


90

代替Nunit中的[SetUp]和[TearDown],Visual Studio Ultimate 2010单元测试中的替代方法是。在Nunit中,您可以想象设置和拆卸方法就像我们类中测试的构造函数和析构函数一样。



Answers:


143

[TestInitialize]在每次测试之前运行带有注释的方法。同样地[TestCleanup]是每次测试后。

[ClassInitialize][ClassCleanup]在TestClass内部的“套件”测试之前和之后运行。


6
您可能已经添加了ClassInitialize方法将TestContext作为参数。
boutta 2014年

4
它也应该是公共静态的
Shalom Aleichem

4

Visual Studio将使用MSTest,即Microsoft的单元测试框架,它类似于NUnit。实际上,它们中的大多数在概念上相似但语法不同。

为了查看比较,xUnit(另一个单元测试框架)的创建者在这里有一个列表:

http://xunit.github.io/docs/comparisons.html

更具体地讲,你问什么,TestInitialize是的MSTest的相当于NUnit的的Setup,与同为TestCleanupTearDown

需要注意的一件事是,如果您尝试进行自动化的单元测试或某种持续集成,我将继续使用NUnit。各种*unit框架优于MSTest的主要原因是因为您必须在运行测试的计算机上拥有Visual Studio的副本。适用于您自己的本地计算机,适用于CI服务器的其他情况。Visual Studio是程序的雏形,将其安装在服务器上(通常应该尽可能轻巧,快速),只是运行测试有点烦人。


7
您只需在CI服务器上安装TFS Team Test Agent(而不配置它)即可安装测试运行程序(microsoft.com/en-us/download/details.aspx?id=1334)。除非您要进行常规,有序,CodedUI或性能测试,否则无需完整安装Visual Studio。
jessehouwing 2013年

1
Team Build 2012可以直接为不同的测试运行程序安装支持,而无需在构建服务器上也安装Visual Studio。
jessehouwing 2013年
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.