Ste*_*Kok 41 c# mstest vs-unit-testing-framework
我一直在努力争取这个,希望它会帮助别人.
虽然创建使用MSTEST单元测试我发现我在每个测试重复相同的码,并发现了几个方便的属性(的TestInitialize
,TestCleanup
,ClassInitialize
,和ClassCleanup
).
据推测,当您使用这些属性之一标记方法时,它应该自动执行(在每次测试之前,在每次测试之后,在所有测试之前,以及在所有测试之后).令人沮丧的是,这没有发生,我的测试失败了.如果从标有TestMethod
attribute 的类中直接调用这些方法,则测试成功.显然他们不是自己执行的.
以下是我使用的一些示例代码:
[TestInitialize()]
private void Setup()
{
_factory = new Factory();
_factory.Start();
}
Run Code Online (Sandbox Code Playgroud)
那为什么不执行?
Ste*_*Kok 103
诀窍是制作这些方法public
:
[TestInitialize()]
public void Setup()
{
_factory = new Factory();
_factory.Start();
}
Run Code Online (Sandbox Code Playgroud)
当他们private
自己不执行.
Ste*_*Kok 10
TestInitialize和TestCleanup在所有测试之前和之后运行,而不是在每个测试之前和之后运行.
这是错误的,请参阅此链接:http: //social.msdn.microsoft.com/Forums/en-US/vststest/thread/85fb6549-cbaa-4dbf-bc3c-ddf1e4651bcf
另请参见MSDN
示例代码显示了如何使用TestInitialize,ClassInitialize和AssemblyInitialize.
归档时间: |
|
查看次数: |
22386 次 |
最近记录: |