gpt4 book ai didi

c# - 无法使用存在的 ClassInitialize 方法执行类

转载 作者:太空狗 更新时间:2023-10-29 23:23:03 25 4
gpt4 key购买 nike

我遇到了一个尴尬的情况——所有具有 [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
}
}

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

Test Name:  TestFixOMRHappySHA
Test FullName: ChargeAccountServiceTests.TestFixOMRHappySHA
Test Source: \ChargeAccountServiceTests.cs : line 22
Test Outcome: Failed
Test Duration: 0:00:00

结果信息:

Method ChargeAccountServiceTests.InitializeClass has wrong signature. Parameter 1 should be of type Microsoft.VisualStudio.TestTools.UnitTesting.TestContext.

这个测试几天前就开始工作了。测试项目目标是.NET 3.5

最佳答案

最后,我通过应用我发现的技巧组合解决了这个问题:

  1. 其中一个 MSTest 项目针对 4.0,而其他项目针对 3.5 - 所以我不得不更改它并重建假货。
  2. 我删除了 Microsoft.VisualStudio.QualityTools.UnitTestFramework.dll 引用并将其再次添加到我的所有测试项目
  3. 我在我的解决方案中发现了旧版本的 vsdmi 文件 - 已删除
  4. 我删除并创建了 Local.testsettings
  5. 重启VS

关于c# - 无法使用存在的 ClassInitialize 方法执行类,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20700653/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com