【发布时间】:2017-07-27 19:35:41
【问题描述】:
我使用 Visual Studio 2015 的 CppUnitTestFramework 对我的 C++ 代码运行大量测试,这些测试正在运行。但是,在所有测试都运行之后,我想将一些结果写入文件。我通过 TEST_CLASS_CLEANUP 尝试了以下方法:
TEST_CLASS_CLEANUP(CleanUp) {
std::ofstream outFile("compare.html");
outFile << "<!DOCTYPE html><html><head><meta charset=\"utf-8\"/></head><body><table>";
//Write some stuff to outFile
...
outFile << "</body></html>" << std::endl;
outFile.close();
}
但是,文件“compare.html”不是在任何地方创建的。当我改用 TEST_METHOD_CLEANUP 时,它正在工作,但在每次测试后都会写入,这不是故意的。那么,我可以从 TEST_CLASS_CLEANUP 以某种方式写入文件吗?
【问题讨论】:
-
听起来你应该试试 TEST_CLEANUP 之类的东西
-
@ChristopherGallé 就像我写的那样,类的清理方法,即 TEST_CLASS_CLEANUP 不起作用。我还尝试了模块清理 TEST_MODULE_CLEANUP ,它也不起作用。剩余的清理 TEST_METHOD_CLEANUP 工作正常,但在每次测试后运行。不存在简单的 TEST_CLEANUP。
-
您的项目中有名为“CleanUp”的测试类吗?
-
@ChristopherGallé 我的测试类默认命名为UnitTest1,CleanUp是清理方法的名称,看这里:msdn.microsoft.com/en-us/library/…
标签: c++ visual-studio unit-testing visual-studio-2015