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