Как я могу настроить сообщения об ошибках Google Test? - PullRequest
0 голосов
/ 20 декабря 2018

Я написал тест 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;
};

Этот тест будет выполняться для файлов огромных размеров иEXPECT_EQ при сбое только скажет мне, какое значение не соответствует.Как я могу переопределить вывод сообщения об ошибке EXPECT_EQ, чтобы также вывести m_csv_line?

1 Ответ

0 голосов
/ 20 декабря 2018

Вы можете использовать EXPECT_EQ в качестве потока, поэтому: EXPECT_EQ(out.field1, val.field1) << m_csv_line; должен делать то, что вы хотите.

...