BDD风格的可执行文档的Rust长测试名称



我正试图找到一种方法来记录我的测试,这可能需要很长时间才能完全解释上下文和所需的行为(最多10-12个单词(。

我更习惯于使用嵌套上下文和详细期望的BDD样式规范,但标准的[test]属性也很好。

我的问题是:为了更好的可读性,能否以某种方式重写下面的快乐路径片段?

#[test]
fn test_when_user_this_and_than_it_does_something_special() {
// ...
}

我一直在寻找类似#[test(name="plain text test case description")]的东西(以避免重蛇命名(,但没有太大成功。或者可能有一个板条箱来缓解这个问题?

Rust没有任何类型的测试命名与函数名称分开。为了包含有关测试目的的信息,我建议您写一个简洁的名称和包含其余单词的文档:

/// When the user does this and that, the special thing should happen.
#[test]
fn this_that_then_special() {
// ...
}

如果需要,也可以使用内部文档注释语法//!:将注释放入块中

#[test]
fn this_that_then_special() {
//! When the user does this and that, the special thing should happen.
// ...
}

当然,测试文档不会显示在生成的文档文件中,因此使用特定语法没有太多意义,但它为任何项目附加解释的标准语法。

最新更新