rmh*_*son 5 markdown doctest github node.js
有谁知道用于针对 README.md 中的代码示例运行测试的开源项目或程序?
这是一个长期存在的问题,我的文档往往会随着代码的变化而过时。例如,README.md 中的代码片段将不再适用于当前版本,并且在新开发人员加入该项目之前不会被捕获。是否可以在我的测试套件中包含 README.md 代码片段?
例如,使用say.nancat示例参数:
# $ node
> const say = require('say')
> say.nancat('grumpy is best')
'grumpy is best'
Run Code Online (Sandbox Code Playgroud)
该程序将使用“#”初始化环境(未在 README.md 中显示,因为假定了上下文),运行“>”行并根据下一行确定通过/失败。类似于 python 中的 doctests。
很多人都面临着保持 README.md 和其他文档与代码保持同步的问题,所以我希望有一个现成的解决方案。我看过(DuckDuckGo)但无济于事。
小智 4
也许byexample就是您正在寻找的。
它是一个运行文本文件中的代码片段(也称为示例)并检查其输出的工具。它类似于 Python 的文档测试,但它适用于Javascript、Ruby、Python 和其他语言(甚至适用于 C 和 C++)。
Javascript 示例可以写在 README.md 中,如下所示:
```javascript
1 + 2
out:
3
```
Run Code Online (Sandbox Code Playgroud)
或类似:
```javascript
> 1 + 2
3
```
Run Code Online (Sandbox Code Playgroud)
然后,从命令行运行它们:
$ byexample -l javascript README.md
[PASS] Pass: 2 Fail: 0 Skip: 0
Run Code Online (Sandbox Code Playgroud)
就是这样。该工具的完整文档可以在这里和这里找到,Javascript 的特定注释和限制可以在这里找到。
免责声明:我是byexample的作者,我创建它的原因与rmharrison在他的问题中所写的原因相同。
和他一样,我的文档有时会“不同步”,而注意到这一点的唯一方法是手动运行示例。因此,我创建了这个工具来自动检查和验证文档。
这对我来说真的很有用;我真的希望它对其他人有用。
| 归档时间: |
|
| 查看次数: |
1827 次 |
| 最近记录: |