Pro*_*ofK 7 .net unit-testing mstest
我理解,从MSDN开始,ClassInitialize就是在所有测试运行之前标记一个为所有测试执行设置代码的方法.当我在下面的简化夹具中包含这样的方法时,所有测试都会失败.一旦我发表评论,他们就会再次通过.
[TestClass]
public class AuthenticationTests
{
[ClassInitialize]
public void SetupAuth()
{
var x = 0;
}
[TestMethod]
public void TestRegisterMemberInit()
{
Assert.IsTrue(true);
}
}
Run Code Online (Sandbox Code Playgroud)
dri*_*iis 16
该[ClassInitialize]装饰方法应该是静态的,并采取类型的只有一个参数TestContext:
[ClassInitialize]
public static void SetupAuth(TestContext context)
{
var x = 0;
}
Run Code Online (Sandbox Code Playgroud)
实际上,如果我将代码复制粘贴到一个干净的VS项目中,那么testrunner会在错误消息中解释这一点:
方法UnitTestProject1.AuthenticationTests.SetupAuth具有错误的签名.该方法必须是static,public,不返回值,并且应该采用TestContext类型的单个参数.