0

我尝试使用 MSTest 来对原生 C++ 代码执行单元测试(以尝试实现测试驱动开发)。

“添加新项目”C++ 向导中有一个 MSTest 条目。它显然在 C++/CLI 中创建了一些代码。

但是,每当我尝试运行这些测试时,Visual Studio 都会提示我这些测试不可运行:

Not Runnable    TestMethod2 CargoOCRTests   UTA007: Method TestMethod2 defined in class CargoOCRTests.UnitTest1 does not have correct signature. Test method marked with the [TestMethod] attribute must be non-static, public, does not return a value and should not take any parameter. for example: public void Test.Class1.Test().

但是我认为我的两个测试功能确实尊重原型 VS 抱怨:

namespace CargoOCRTests
{
    [TestClass]
    public ref class UnitTest1
    {
        [TestMethod]
        void TestMethod1()
        {
            Assert::IsTrue(true);
        };

        [TestMethod]
        void TestMethod2()
        {
            Assert::IsTrue(false);
        };
    };
}

你知道是什么原因吗?

4

1 回答 1

2

您需要将测试方法标记为public

public:
   [TestMethod]
   void TestMethod1() {}
于 2013-02-19T10:26:58.547 回答