c++ - C++ 中的单元测试如何在 printf 刚刚显示的源代码中访问我的结果

标签 c++ unit-testing

<分区>

我正在用 C++ 编写单元测试。我的最终结果在源代码设计中展示了

printf("%d\n", ResultA);

并且没有返回ResultA

我必须提到 ResultA 只是在比较 3 个值之后出现的,所以我没有任何返回 ResultA 的函数。像这样:

if a<b  --> ResultA= 1
if a>b  --> ResultA= 2

我想知道在单元测试中如何访问 ResultA?因为我需要有那个值,看看它是否被正确报告。

最佳答案

您创建一个函数来生成该值并为其编写单元测试。

int MakeResultA()
{
    return 5;
}

void SomeFunction()
{
    int resultA = MakeResultA();
    printf("%d\n", resultA);
}

BOOST_AUTO_TEST_CASE(MakeResultA)
{
    BOOST_CHECK_EQUAL(MakeResultA, 5);
}

关于c++ - C++ 中的单元测试如何在 printf 刚刚显示的源代码中访问我的结果,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25802586/

相关文章:

java - Powermock Mockito : the method I'm trying to stubb ends up being called

unit-testing - 为什么使用集成测试而不是单元测试是一个坏主意?

c++ - 在 sf::Vector 中重载 operator< 时出错

c++ - 使用 size_t 索引以相反的顺序枚举数组

c++ - Boost Asio tcp::acceptor 访问冲突异常

c++ - 如何检查 Google Test 是否在我的代码中运行

unit-testing - t.Cleanup有什么用?

java - 是否有适用于 MongoDB 的 DbUnit 替代方案?

c# - 将 .net 引用转换为 C++ 引用

c++ ansi转义码不向控制台显示颜色