Cppunit测试仅返回Ok(0)

时间:2013-07-24 10:28:50

标签: c++ cppunit

我正在对我的项目进行cppunit测试。当我正常编译和运行程序时,2函数checkWord和checkFile都返回'true'bool值。然后当我使用这两个函数进行cppunit测试时。输出结果将始终为OK(0)。当我运行CPPUNIT_ASSERT()中的任何一个时,我应该看到而不是OK(1)。 有人可以帮我这个吗?

以下是我的项目代码:

checkWord功能

bool ScrambleWordGame::checkWord(string checkWord) {
ifstream file("WordDatabase.txt");
vector <string> wordList;

copy(istream_iterator<string>(file),
     istream_iterator<string>(),
     back_inserter(wordList));   
file.close();    

if(find(wordList.begin(),wordList.end(),checkWord) != wordList.end())
    return true;
else 
    return false;
}

checkFile函数

bool ScrambleWordGame::checkFile(string filename) {
ifstream file(filename.c_str());
if(file)
    return true;
else 
    return false;
file.close();
}

SWGTest.cpp

#include "ScrambleWordGameTest.h"
#include "ScrambleWordGame.h"

void ScrambleWordGameTest::testEquals() {
  CPPUNIT_ASSERT(swg.checkFile("WordDatabase.dat"));
//CPPUNIT_ASSERT(swg.checkWord("cat"));
}

1 个答案:

答案 0 :(得分:0)

事实证明,缺少对测试用例的注册。因此,testclassname.cpp

中需要以下行
CPPUNIT_TEST_SUITE_REGISTRATION (testclassname);