1 个不稳定版本

0.1.0 2021年5月10日

#495 in 测试

MIT/Apache

125KB
457

conformer 操作状态 docs

conformer 帮助您编写和可视化符合性测试套件。

背景/初始动机

我有一个跨平台的渲染器。

从高层次来看,它是一个 Renderer 特性以及一些不同的结构体,它们 impl Renderer for Self

自2020年2月中旬以来,我一直在使用一个测试套件来断言我的所有渲染器在调用不同的 RenderGraph 时能够正常工作。

2021年5月,我在清理这个符合性测试代码,并决定将其作为一个开源库提取出来,以便帮助其他人编写他们自己的符合性测试套件。

用法

目前,开始使用conformer的最佳方式是查看 示例,其中我们测试了一个简单的渲染器

可视化

conformer 随附两种可视化测试结果的方式。

简单可视化

简单可视化器适用于将结果写入标准输出。

Metal Graphics API Renderer Tests
Test the renderer.

25 test results
Renderer should use the desired clear color ... ok
Renderer should render a textured quad using a sub-section of a specified texture ... ok
Resize framebuffer depth texture ... ok
Render UI quad with solid background ... ok
Render two textured quads from different atlases ... FAILED
Render two textured quads from the same atlas ... ok
UI quads Z ... ok
Render mock text glyph quad using single component texture ... FAILED
Render disks using triangle strips ... ok
Resize framebuffer color texture ... ok
Renderer should update a sub-section of a texture on the GPU. ... ok
Render 3 particles ... FAILED
Non skinned mesh with high detail mesh shader - light from above ... FAILED
# ...
# ... REMOVED FOR README BREVITY ...
# ...

test result: FAILED. 11 passed; 14 failed
thread 'renderer_tests' panicked at 'FAILED', crates/renderer-test/src/lib.rs:199:9
note: run with `RUST_BACKTRACE=1` environment variable to display a backtrace

failures:
    renderer_tests

test result: FAILED. 0 passed; 1 failed; 0 ignored; 0 measured; 0 filtered out; finished in 2.61s

HTML可视化

HTML可视化器适用于您想查看测试失败原因的情况。

它非常灵活,您可以生成任何HTML以最佳地可视化测试用例,然后只需将其包裹在基本信息中,如测试的标题、描述以及是否通过或失败。

HTML visualization

进行测试

运行测试套件。

# Clone the repository
git clone [email protected]:chinedufn/conformer.git
cd conformer

# Run tests
cargo test --all

许可证

conformer 在以下许可证下发布:

无运行时依赖项