mettle是一个专门针对C++14的单元测试框架。结合了可读性和代码简洁。
特性Buildyourownassertions:期望(断言)是使用可组合的匹配器定义的,该匹配器会自动生成易于理解的输出,从而确保即使复杂的对象也易于测试。Nestyourtests:套件将您的测试分组在一起,并且可以根据需要深度嵌套,因此您可以使用它们的层次结构来为您设置和拆除固定装置。Don'trepeatyourself:类型和值参数化的测试使您可以编写一次测试,并将其应用于多个实现或前提条件。Aggregateeverything:在mettle通用测试运行,使您能够轻松地写多个独立测试文件-运行完全不同类型的测试甚至是那些-和它们聚集到结果的一个列表。示例代码:
#include <mettle.hpp>using namespace mettle;suite<> basic("a basic suite", [](auto &_) { _.test("a test", []() { expect(true, equal_to(true)); }); for(int i = 0; i < 4; i++) { _.test("test number " + std::to_string(i), [i]() { expect(i % 2, less(2)); }); } subsuite<>(_, "a subsuite", [](auto &_) { _.test("a sub-test", []() { expect(true, equal_to(true)); }); });});
评论