当前正在运行哪个单元测试

Which unit test is currently running?

本文关键字:单元测试 运行      更新时间:2023-10-16

这个问题与我的单位测试程序崩溃的问题有关,但我不知道哪个单位测试。

我意识到这个问题是关于如何在一批测试方法中找到哪种测试方法的重复性?但是我还是需要尝试:

我正在进行一些单元测试(其中约118个(,但其中一个似乎使Visual Studio单元测试环境崩溃。这就是我在"输出"窗口的"测试"选项卡中看到的:

[5/02/2018 11:13:18 Informational] ------ Run test started ------
[5/02/2018 11:13:38 Error] The active Test Run was aborted because the execution process exited unexpectedly. The test execution process crashed while running the tests. To investigate further, open file:///C:/Users/DominiqueDS/AppData/Local/CrashDumps/vstest.executionengine.x86.exe.19136.dmp file in Visual Studio and choose "Debug in mixed mode".
[5/02/2018 11:13:38 Informational] ========== Run test finished: 65 run (0:00:19,6926824) ==========

我拥有该转储文件的原因是我的Windows配置,该配置会在崩溃的应用程序中自动创建此类DumpFiles。(在此URL下找到此配置的过程(

检查转储文件为我提供了有关测试的更多信息,这是失败的:我有一个直觉可以找到它,在另一个线程中,我找到一个函数,调用method,它似乎包含了该名称的名称我正在运行的单位测试。

尽管我知道哪种测试失败了,但它基于Hunches和Dumpfiles,我什至不应该生成,因此我正在寻找另一个解决方案:

在文件" c: program Files(x86( Microsoft Visual Studio 2017 professional vc auxiliary vs unittest unclude cppunittest.h"中,在函数 TEST_METHOD中以下行:

cout << "Test : ";
cout << methodName;
cout << "n";

我希望这可以显示我想运行的每个测试,但是我收到错误消息说这是错误的(也不允许使用std::coutOutputDebugString()功能(。

因此,我的问题是:是否有人知道一种方法来找出答案,以防我的单元测试使我的测试环境崩溃,我该如何找出这是哪种测试,而无需生成和调试Visual Studio Dumpfile?

以获取您的信息:在"测试资源管理器"中查看没有帮助:我有残疾测试的列表,成功的测试列表以及一些未完成的列表,而我的失败测试并不是第一个"未完成"的。

找到了它:我已经在TEST_METHOD()的定义中添加了以下行:

Microsoft::VisualStudio::CppUnitTestFramework::Logger::WriteMessage(L#methodName);