cppunit导出局部变量

问题描述 投票:-1回答:1
for (int i = 0; i < 50; ++i)
    {
        CPPUNIT_ASSERT(RtcTime_GetDayOfWeek(TimeC[i])==RtcTime_GetDayOfWeek(TimeC[i+1]));
    }

这个测试倒下了。我怎样才能导出这个测试失败的'i'?

现在我的输出

1) test: testEq (F) line: 55 rtc_test.cxx
assertion failed
- Expression: RtcTime_GetDayOfWeek(TimeC[i])==RtcTime_GetDayOfWeek(TimeC[i+1])

我想要那样的东西

1) test: testEq (F) line: 55 rtc_test.cxx
    assertion failed
    - Expression: RtcTime_GetDayOfWeek(TimeC[i])==RtcTime_GetDayOfWeek(TimeC[i+1])
i=49
c++ unit-testing cppunit
1个回答
2
投票

你可以这样做,当CppUnit断言时会打印一条消息。

for (int i = 0; i < 50; ++i)
{
    std::stringstream oss;
    oss << "testing RtcTime_GetDayOfWeek(TimeC[i]) where i=" << i << std::endl;
    CPPUNIT_ASSERT_MESSAGE(oss.str(),
              RtcTime_GetDayOfWeek(TimeC[i])==RtcTime_GetDayOfWeek(TimeC[i+1]));
}
© www.soinside.com 2019 - 2024. All rights reserved.