是否可以使用 JSDocs 为 TestCafe 测试编写文档?
Is it possible write documentation for TestCafe tests using JSDocs?
我们想为我们团队的 TestCafe 测试框架生成一个动态文档。
我们正在探索像 JSDocs 这样的选项,而不是使用单独的 wiki / 单独的文档来维护有关框架的信息。
JSDoc 模板如下所示:
/**
* Represents a book.
* @constructor
* @param {string} title - The title of the book.
* @param {string} author - The author of the book.
*/
那么如何使它们对记录我们的 TestCafe 测试更有意义?
谢谢
测试用例是函数调用。 JsDoc 不是为记录函数调用而构建的。它主要用于记录 类、方法和 属性 声明,而不是调用。
其中一种方法是将您的测试用例代码提取到一个单独的函数中并记录下来。例如:
import { Selector } from 'testcafe';
fixture `My fixture`
.page `http://devexpress.github.io/testcafe/example/`;
test('Test a book', async t => {
test_a_book(t, 'title', 'author');
});
/**
* Represents a book.
* @param {string} title - The title of the book.
* @param {string} author - The author of the book.
*/
async function test_a_book(t, title, author) {
await t
.typeText('#title', title)
.typeText('#author', author)
.click('#submit-button')
.takeScreenshot({
path: 'books/book.png',
fullPage: true
});
}
您还可以将测试用例逻辑提取到 Page Model 中,您可以在其中记录所有内容。
此外,您可以将函数调用定义为 @属性 或创建自定义 @tag,但 JsDoc 不会为这些解决方法生成 nice-looking 文档。
我们想为我们团队的 TestCafe 测试框架生成一个动态文档。 我们正在探索像 JSDocs 这样的选项,而不是使用单独的 wiki / 单独的文档来维护有关框架的信息。
JSDoc 模板如下所示:
/**
* Represents a book.
* @constructor
* @param {string} title - The title of the book.
* @param {string} author - The author of the book.
*/
那么如何使它们对记录我们的 TestCafe 测试更有意义? 谢谢
测试用例是函数调用。 JsDoc 不是为记录函数调用而构建的。它主要用于记录 类、方法和 属性 声明,而不是调用。
其中一种方法是将您的测试用例代码提取到一个单独的函数中并记录下来。例如:
import { Selector } from 'testcafe';
fixture `My fixture`
.page `http://devexpress.github.io/testcafe/example/`;
test('Test a book', async t => {
test_a_book(t, 'title', 'author');
});
/**
* Represents a book.
* @param {string} title - The title of the book.
* @param {string} author - The author of the book.
*/
async function test_a_book(t, title, author) {
await t
.typeText('#title', title)
.typeText('#author', author)
.click('#submit-button')
.takeScreenshot({
path: 'books/book.png',
fullPage: true
});
}
您还可以将测试用例逻辑提取到 Page Model 中,您可以在其中记录所有内容。
此外,您可以将函数调用定义为 @属性 或创建自定义 @tag,但 JsDoc 不会为这些解决方法生成 nice-looking 文档。