相关疑难解决方法(0)

为什么ClassInitialize装饰方法使我的所有测试失败?

我理解,从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)

.net unit-testing mstest

7
推荐指数
1
解决办法
6037
查看次数

无法使用ClassInitialize方法执行类

我面临一个尴尬的局面 - 所有具有[ClassInitialize]方法的测试类都无法执行内部的所有测试方法.

例:

[TestClass]
public class ChargeAccountServiceTests
{
    private static PrivateType ChargeAccountService_Accessor;

    [ClassInitialize]
    public static void InitializeClass(Microsoft.VisualStudio.TestTools.UnitTesting.TestContext context)
    {
         ChargeAccountService_Accessor = new PrivateType(typeof(ChargeAccountService));
    }

    [TestMethod]
    public void TestFixOMRHappySHA()
    {
          //TEST LOGIC
    }
}
Run Code Online (Sandbox Code Playgroud)

导致测试代理抛出以下异常:

Test Name:  TestFixOMRHappySHA
Test FullName:  ChargeAccountServiceTests.TestFixOMRHappySHA
Test Source:    \ChargeAccountServiceTests.cs : line 22
Test Outcome:   Failed
Test Duration:  0:00:00
Run Code Online (Sandbox Code Playgroud)

结果消息:

方法ChargeAccountServiceTests.InitializeClass具有错误的签名.参数1应为Microsoft.VisualStudio.TestTools.UnitTesting.TestContext类型.

这个测试几天前就已经开始了.测试项目目标是.NET 3.5

c# unit-testing mstest visual-studio vs-unit-testing-framework

5
推荐指数
1
解决办法
4024
查看次数