相关疑难解决方法(0)

在Google Test中打印其他输出

我正在使用googletest C++测试框架.通常,运行测试的文本输出如下所示:

[ RUN      ] MyTest.Fuzz
[       OK ] MyTest.Fuzz (1867 ms)

我想以相同的格式输出一些额外的数据,例如:

[ RUN      ] MyTest.Fuzz
[          ] random seed = 1319760587
[       OK ] MyTest.Fuzz (1867 ms)

我在googletest文档中找到了Logging Additional Information,但它似乎只是将结构化数据发送到XML输出,而不是标准控制台输出.

我可以在我的单元测试中调用googletest函数,以这种格式输出文本吗?手动将数据发送到cout工作,但它不包括通常的彩色输出,所以我必须通过打印13个空格或其他来明确缩进输出.

c++ googletest

45
推荐指数
5
解决办法
5万
查看次数

如何自定义 Google 测试失败消息?

我写了一个像下面这样的谷歌测试,它将一些计算值与预期存储在 CSV 文件中的值进行比较。

class SampleTest : public ::testing::Test{
public:

    void setupFile(const std::string& filename) {
       // open csv file here
    }

    void checkRow(ComputedRowValue val) {
        CSVParsedOutput out;
        m_csv_f.readAndParseLine(out);
        EXPECT_EQ(out.field1, val.field1);
        EXPECT_EQ(out.field2, val.field2);
        EXPECT_EQ(out.field3, val.field3);
        m_csv_line++;
    }


protected:
    CSVFile m_csv_f; // CSV file with expected results
    int m_csv_line = 0;
};
Run Code Online (Sandbox Code Playgroud)

这将运行在一些巨大的文件大小和 EXPECT_EQ 失败时只会告诉我哪个值不匹配。如何覆盖 EXPECT_EQ 输出的错误消息也打印m_csv_line

c++ testing unit-testing googletest

2
推荐指数
1
解决办法
821
查看次数

标签 统计

c++ ×2

googletest ×2

testing ×1

unit-testing ×1