我喜欢在我的 C++ 单元测试中使用catch。我的目标是比较std::array
和std::vector
。我创建了这个失败的例子。
#define CATCH_CONFIG_MAIN
#include "catch.hpp"
TEST_CASE("Vector") {
std::vector<double> direction = {0.1, 0.3, 0.4};
std::vector<double> false_direction = {0.1, 0.0, 0.4};
REQUIRE(direction == false_direction);
}
TEST_CASE("Array") {
std::array<double, 3> direction = {0.1, 0.3, 0.4};
std::array<double, 3> false_direction = {0.1, 0.0, 0.4};
REQUIRE(direction == false_direction);
}
该测试的输出用于检查std::vector
REQUIRE(direction == false_direction) 扩展: { 0.1, 0.3, 0.4 } == { 0.1, 0.0, 0.4 }
并且对于std::array
REQUIRE(direction == false_direction) 扩展: {?} == {?}
我该怎么做才能显示实际值和预期值?我喜欢在as for的违反REQUIRE
条件下有相同的显示。std::array
std::vector
我使用最新版本的 catch (v1.10.0)。