[英]googletest read write same file fails
我有一些测试用例,他们都会将一些字符串写入“ tmp.txt”并读回。 并且测试将失败。 如果我一次只测试一个测试用例,或将临时文件名从“ tmp.txt”更改为一些随机生成的文件名,则测试将通过。 可能的原因是什么? googletest的测试用例是否按顺序运行?
TEST(xxxx) {
string s = generate_some_string();
string filename = "tmp.txt";
ofstream tmpFile(filename);
tmpFile << s;
tmpFile.close();
cv::VideoCapture cap(filename);
// read the content back using cap, and do some check
remove(filename.c_str());
}
默认情况下,googletest应该按顺序运行测试; 尽管有一个特殊的testrunner可以并行运行测试,并且Visual Studio的测试插件也可以配置为并行运行测试。
我的怀疑在于cv::VideoCapture cap(filename);
调用-您可以在调用返回时还是在最晚调用remove(filename.c_str());
时验证文件确实已关闭remove(filename.c_str());
?
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.