无法在CppUnitTestFramework(VS2013)中运行测试

时间:2014-08-27 10:29:51

标签: c++ unit-testing c++11 visual-studio-2013 microsoft-cpp-unit-test

在与我的团队其他成员分开的perforce流中,我无法在项目上运行CppUnitTestFramework测试,而其他流则运行测试就好了。

这是一个代码段:

TEST_CLASS(MyClass)
{
    BEGIN_TEST_CLASS_ATTRIBUTE()
        TEST_CLASS_ATTRIBUTE(L"Type", L"Native C++ Unit Tests")
        TEST_CLASS_ATTRIBUTE(L"TestClass", L"MyClass")
        END_TEST_CLASS_ATTRIBUTE()

public:

    TEST_METHOD(canFooTheBar)
    {
        ...
        Assert::IsTrue(foo());
    }
...
}

这是我在尝试运行测试时遇到的错误:

------ Discover test started ------
Object reference not set to an instance of an object.
========== Discover test finished: 0 found (0:00:00.5129487) ==========
No tests found to run.

.sln或不同流之间的任何相关.vcxproj文件之间没有差异。

1 个答案:

答案 0 :(得分:1)

可能的原因是你有一个没有测试的测试类(在同一个项目中)。

删除此类可能会解决问题。

如果我将以下类添加到项目中,则会重现该问题:

TEST_CLASS(MyEmptyClass)
{
    BEGIN_TEST_CLASS_ATTRIBUTE()
        TEST_CLASS_ATTRIBUTE(L"Type", L"Native C++ Unit Tests")
        TEST_CLASS_ATTRIBUTE(L"TestClass", L"MyEmptyClass")
        END_TEST_CLASS_ATTRIBUTE()

public:
    //no tests
}
相关问题