我目前正在对我的项目进行 cppunit 测试。当我正常编译和运行程序时,这两个函数 checkWord 和 checkFile 都返回“true”布尔值。然后当我使用这两个函数进行 cppunit 测试时。输出结果将始终为 OK(0)。当我运行任何一个 CPPUNIT_ASSERT() 时,我应该看到的不是 OK(1)。任何人都可以帮助我吗?
以下是我的项目代码:
校验字函数
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;
}
检查文件功能
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"));
}