#testing #print #diff #directory #case #string #lirary

nightly print-test

方便的打印测试库

1 个不稳定版本

0.1.0 2023年6月8日

#88 in #case

MIT 许可协议

12KB
266 行代码(不包括注释)

打印测试

此 crate 允许您轻松使用称为 print testing(以下简称 PT)的技术。PT 与显式使用硬编码值断言不同,它允许进行更声明性的测试。每个测试都传递一个缓冲区(&mut String),其中应输出表示某些代码结果的随机字符序列。当您添加一个新测试时,它最初总是引发 panic,直到您接受它为有效。接受后,每个后续测试仅检查每个测试的输出是否已更改。如果有所更改,测试失败,并将显示类似于 git 的 diff,显示已更改的内容。输出已更改的事实可以有多种解释,要么是故意的,在这种情况下只需接受更改,要么测试实际上已损坏,您需要按照测试损坏时的常规步骤进行操作。

使用方法

要将参数传递给打印测试,您不幸地需要设置环境变量。以下是一些可能的选项及其默认值

# directory where test results are cached, for each test there will be a file named
# as absolute path of given function where `::` is replaced with `-`, this also
# includes the crate name so central workspace cache can be used
PRINT_TEST_CACHE_DIR=print-test-cache
# when you run tests with this equal to true, all tests will be considered cirrect
# and saved in the cache (yes rerunning the tests is nessesary), if you want to
# select which tests to accept, filter them as you do with normal test
PRINT_TEST_WRITE_CHANGES=false

无运行时依赖项