javascript - 使用 mocha 重用场景

标签 javascript testing mocha.js code-reuse

最近我开始使用 JS 和 mocha。

我已经编写了一些测试,但现在我需要重用我已经编写的测试。

我已经厌倦了寻找“它”/“描述”重用,但没有找到有用的东西......

有没有人有一些好的例子?

谢谢

最佳答案

考虑到如果您进行单元测试,您将不会发现由于组件之间的集成问题而导致的错误,因此您必须在某些时候一起测试您的组件。转储 mocha 来运行这些测试将是一种耻辱。因此,您可能希望使用 mocha 运行一系列测试,这些测试遵循相同的一般模式,但在一些小方面有所不同。

我发现解决这个问题的方法是动态创建我的测试函数。它看起来像这样:

describe("foo", function () {
    function makeTest(paramA, paramB, ...) {
        return function () {
            // perform the test on the basis of paramA, paramB, ...
        };
    }

    it("test that foo does bar", makeTest("foo_bar.txt", "foo_bar_expected.txt", ...));
    it("test what when baz, then toto", makeTest("when_baz_toto.txt", "totoplex.txt", ...));
    [...]
});

可以看一个真实的例子here .

请注意,没有什么可以强制您将 makeTest 函数置于 describe 范围内。如果您有一种您认为足够通用以供其他人使用的测试,您可以将它放在一个模块中并require它。

关于javascript - 使用 mocha 重用场景,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20451898/

相关文章:

javascript - 是否建议从网页启动可执行文件

testing - 无法在 Sahi 中生成 junit 报告

javascript - Protractor/WebDriverJS 中的 by.js 定位器是什么?

Angular 7 : NullInjectorError for failing test, 服务在组件中仍然有效

unit-testing - 使用 System.js 处理 css 导入的 React 组件的 Mocha 测试

javascript - 我什么时候可以使用 lodash.after()?

javascript - MSSQL 上 Sequelize.org 的批量更新

javascript - 使用 ng-style 设置样式后悬停时更改背景颜色

xml - Mocha Istanbul 尔覆盖 xml 文件生成

typescript - 无法在 VSCode 中使用 TypeScript 运行 Mocha 测试