0

我正在寻找一种将单元测试添加到我的文档的方法。我使用 antora 从 asciidoc 生成我的文档网站。工作得很好。现在我正在寻找一种方法来对我的文档(asciidoc 文件)进行单元测试。但这不是我现在的问题。

我现在想要的是一种测试我的文档的文件系统结构的方法。我有几个具有类似基本设置和基本文档的存储库。细节有所不同,但例如我想确保每个文档在 PROJECT/docs/modules/ROOT 中都有它们的主要文档,并且导航文件在每个模块等中都命名为 nav.adoc。

基本上我希望每个项目都使用相同的文档结构。

所以我想知道是否有办法测试文件系统(文件夹名,文件名)。最终,这些测试应该是我的 gitlab ci 管道的一部分。

archunit 可以帮忙吗?如果没有更好的方法,我会考虑,但由于 archunit 以 java 项目为目标,所以对于我的 uaecase 来说似乎有点过分了。

4

1 回答 1

0

重要的是要记住 Antora 可以从多个存储库中收集内容。当 Antora 收集内容时,该内容将保存在虚拟文件系统中,直到完成向 HTML 的转换。这意味着无论您在何处运行 Antora,都无法直接查询 repos 的文件系统结构,除非它恰好是本地的(您正在使用“作者”模式,或者您有最新的 repo 签出)本地)。

可以为 Antora 编写一个扩展(在 JavaScript 中,因为 Antora 是一个 Node.js 应用程序)来调查虚拟文件系统并抱怨发现的任何结构问题。

在 Antora 之外,您基本上是在编写特定于 repo 的测试。可以以任何您喜欢的方式调用该测试,例如在运行时运行测试脚本make。或者,您可以在您的存储库中添加一个 git commit 钩子,以防止在适当的文件结构不存在时提交。

TL;DR 的答案是“是的,这可以做到”。但是,它需要一些实施工作才能实现。

于 2021-07-06T22:34:25.403 回答