2017-10-28 78 views
0

目前我正在完成我的学校项目,但最后需要做的事情是文档。我对单元测试感到困惑,基本上我知道的是,我需要一个testfile.cpp为我创建的每个类。但我不知道该把文件放在哪里,因为我的导师告诉我在testfile.cpp里面有一个main()但是不是一个项目只能有一个main()为测试单元创建目录C++ [Code :: Blocks]

是否有任何可能的方式我可以创建一个新的文件夹并将其命名为TestingFolder为例,然后将testfile.cpp放入里面但仍然可以执行以证明。

请评论是否有任何问题不清楚,我是新来的C++和文档,道歉。

回答

0

您不能有多个main()函数。但是您可以为所有cpp测试文件的每个main()函数创建特定的namespace

testfile.cpp

namespace test 
{ 
    TESTCASE() 
    { 
     .... 
    } 
    int main() 
    { 
     RUN_ALL_TESTS(); 
     return 0; 
    } 
} 

main.cpp中(真正的主文件)

int main() 
{ 
    bool flag = true; 
    if(flag) 
    { 
     test::main(); 
     anotherNamespace::main() // for each test files (for each class that 
           // should be tested) 
     return 0; 
    } 
} 

flag意味着一个布尔变量如果测试被激活。 如果你的老师想在同一个C++项目中使用main()函数,这就是解决方案。通常,为单元测试创​​建另一个项目。