mettleC++14 单元测试

联合创作 · 2023-10-01 15:12

mettle 是一个专门针对 C++14 的单元测试框架。结合了可读性和代码简洁。

特性

  • Build your own assertions:期望(断言)是使用可组合的匹配器定义的,该匹配器会自动生成易于理解的输出,从而确保即使复杂的对象也易于测试。
  • Nest your tests:套件将您的测试分组在一起,并且可以根据需要深度嵌套,因此您可以使用它们的层次结构来为您设置和拆除固定装置。
  • Don't repeat yourself:类型和值参数化的测试使您可以编写一次测试,并将其应用于多个实现或前提条件。
  • Aggregate everything: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));
    });
  });

});
浏览 6
点赞
评论
收藏
分享

手机扫一扫分享

编辑
举报
评论
图片
表情
推荐
点赞
评论
收藏
分享

手机扫一扫分享

编辑
举报