在我的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()
{
...
}
}
}
Run Code Online (Sandbox Code Playgroud)
现在,C#测试都失败了,消息如"方法MyCLIClassTest.MyCLIClassTest.ClassInitialize有错误的签名.该方法必须是静态的,公共的,不返回值,并且应该采用TestContext类型的单个参数."
删除ClassInitializer后,我得到"无法为类MyCLIClassTest.MyCLIClassTest设置TestContext属性.错误:System.ArgumentException:类型为'Microsoft.VisualStudio.TestPlatform.MSTestFramework.TestContextImplementation'的对象无法转换为类型'Microsoft.VisualStudio.TestTools .UnitTesting.TestContext" ..