繁体   English   中英

googletest读写同一文件失败

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM