在我的 Visual Studio 2012 解决方案中,我有一个用于单元测试 C++/CLI 代码的 C# 项目,例如
...
using System.IO;
using Stuff;
namespace MyCLIClassTest
{
[TestClass]
public class MyCLIClassTest
{
public MyCLIClassTest() {}
[ClassInitialize]
public static void Setup(TestContext testContext)
{
}
[TestMethod]
public void LibraryAccessTest()
{
...
}
}
}
现在,C# 测试全部失败,并显示类似“Method MyCLIClassTest.MyCLIClassTest.ClassInitialize 的签名错误。该方法必须是静态的、公共的、不返回值并且应该采用 TestContext 类型的单个参数。”
删除 ClassInitializer 后,我得到“无法为类 MyCLIClassTest.MyCLIClassTest 设置 TestContext 属性。错误:System.ArgumentException:'Microsoft.VisualStudio.TestPlatform.MSTestFramework.TestContextImplementation'类型的对象无法转换为'Microsoft.VisualStudio.TestTools'类型.UnitTesting.TestContext'..