有没有一种简单的方法可以在 C++ 的 Visual Studio 2019 中对 main()
进行单元测试?
我试过 #including
一个 main.h 并从测试中调用 main()
,但它“看起来”像测试的 main()
被调用,导致递归。
我想尽早向学生介绍测试(编写代码使测试绿色化),学生将(还)没有函数或类的经验。
仅供引用,我们使用的是 GoogleTest,但该选择可以更改。
最佳答案
main
比较特殊,因为程序中只能有一个main
。此外,main
不是您通常进行单元测试的内容。然而,解决方案相当简单
// the "main" function you can test
int my_main(int argc, char** argv) {
// ...
}
// your main (the one you dont include for testing
int main(int argc, char** argv) {
return my_main(argc,argv);
}
and the students will have no experience(yet) of functions or classes
我对这个策略有疑问。可组合性是单元测试的先决条件。如果您有可以单独测试的小单元,则单元测试很有意义。在能够对 main
进行单元测试之前,需要基本了解存在可以调用(和测试)的函数。
关于c++ - 如何在 Visual Studio 中对 main() 进行单元测试,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57852541/