我喜欢使用Catch进行我的C++单元测试。我的目标是比较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
。要求方向等于假方向,扩展如下:{0.1, 0.3, 0.4} == {0.1, 0.0, 0.4}。同时也是为了检查std::array
,要求方向等于假方向,扩展如下:{?} == {?}。我该如何显示实际值和期望值?我希望在std::array
条件不满足时能够像std::vector
一样显示。我使用的是最新版本的catch(v1.10.0)。