使用mocha重用场景

Iga*_*gal 4 javascript testing code-reuse mocha.js

最近我开始使用JS和mocha.

我已经编写了一些测试,但现在我已经到了需要重用已经编写的测试的时候了.

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

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

谢谢

Lou*_*uis 9

考虑到如果您进行单元测试,则不会因组件之间的集成问题而捕获错误,您可能会在某些时候一起测试组件.转储摩卡来运行这些测试将是一种耻辱.因此,您可能希望使用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", ...));
    [...]
});
Run Code Online (Sandbox Code Playgroud)

你可以在这里看到一个真实的例子.

请注意,没有什么可以强制您将makeTest函数放在describe范围内.如果你有一种你认为通用的测试对别人有用,你可以将它放在一个模块中require.