1

在来自我的团队其余成员的独立perforce流中,我无法在项目上运行CppUnitTestFramework测试,而其余流运行测试就好了。无法在CppUnitTestFramework(VS2013)中运行测试

这里有一个代码片段:

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文件在不同的流之间。

+0

你有没有尝试删除这些属性:

如果我添加下面的类的项目的问题重现? – TobiMcNamobi 2014-08-27 11:25:47

+0

只是试过它无济于事。 – 2014-08-27 11:49:47

回答

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 
} 
+1

我在我的项目中有一个空的测试类,删除它似乎有窍门! – 2014-08-27 13:57:35