c++ - 如何使 NUnit 断言失败显示 C++ 的行号?

标签 c++ nunit

当我针对我的 C++ 代码运行 NUnit 测试并且断言失败时,我没有获得失败发生位置的行号。

示例方法:

[Test]
void testMethod()
{
    Assert::Fail("test comment");
}

示例输出:

[nunit2] Failures:

[nunit2] 1) namespace.SomeTest.testMethod: test comment

[nunit2] at namespace.SomeTest.testMethod()

任何断言失败都会生成类似的输出(也没有行号)。

查看我的输出时,如何获取导致失败的行的行号信息?

最佳答案

仔细检查您是否正在使用调试信息 (PDB) 构建类。

断言框架基本上会在断言失败时抛出异常,并且异常会捕获 StackTrace。堆栈跟踪从与可执行文件关联的 PDB 文件中获取行号。

关于c++ - 如何使 NUnit 断言失败显示 C++ 的行号?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/826698/

相关文章:

c++ - 将 `this` 分配给 `MyClass *instance`, `instance->member` 没有引用与 `this->member` 相同的内存

c++ - 类层次结构可以安全且可简单复制吗?

nunit - 如何在场景大纲中为 specflow 示例传递负数?

unit-testing - 为什么我的 NUnit 断言在部署到 Azure 时失败?

nunit - 使用通配符从控制台忽略 NUnit 测试

C++:找不到静态链接

c++ - 你好!我想让我的程序定期显示一段文本。作为 "loading bar"的东西。

unit-testing - 使用 WatiN 和 NUnit 进行单元测试

c++ - UTF8 字符到十六进制值字符串

NUnit 测试未运行,并且旁边有蓝色感叹号图标