#单元测试 #测试

etest

允许控制类似函数的 #[test] 的行为

3 个版本 (破坏性更新)

0.2.0 2024年8月21日
0.1.0 2024年8月20日
0.0.0 2024年8月19日

#184测试

Download history 220/week @ 2024-08-14

每月220次下载
用于 etest-tests

LGPL-3.0-or-later WITH LGPL-3…GPL-3.0-or-later

26KB
396

Coverage Status

关于

etest 允许控制类似函数的 #[test] 的行为

  • 它允许指定测试的最大运行时间(timeout 参数)

  • 它允许根据另一个函数的结果跳过测试(skip_* 参数类)

  • 它允许通过使其依赖于简单使用(“共享”使用)或持续测试期间消耗的资源(“独占”使用)来限制测试的并行执行

示例

#[etest(skip=is_today_monday(),
        timeout=2_000,
        consumes=["video", "audio"],
        uses=["network"])]
fn test_00() {
    do_something();
}

此测试将在

  • 周一跳过

  • 将在2秒后中止

  • 将独占使用“视频”和“音频”资源;例如,不会运行使用这些资源之一的其他测试

  • 将共享“网络”资源;例如,允许同时运行共享此资源的其他测试,但不允许使用其独占使用的测试。

许可证

顶级 etest crate 的代码(src 文件夹的内容)根据 LGPL-3.0-or-later 许可,有一个例外,该例外取消了有关静态链接的限制。

实现细节(etest-derive + etest-impl 文件夹中的crate)根据 GPL-3.0-or-later 许可,明确允许根据您的选择使用和分发生成的代码(展开的宏)。

独立测试(etest-tests)根据 GPL-3.0-or-later 许可。

依赖项

~39KB