簡體   English   中英

如何在Node.js中創建數據驅動的測試

[英]How to create a data driven test in Node.js

Node.js單元測試中,創建數據驅動unit tests的方法是什么?

例如,我有一個常見的function / method ,我希望在具有不同數據集的多個單元測試中重用它。 我試着查看nodeunit, vows, whiskey, qunit, expresso ; 但我無法找到實現此功能的方法。

我沒有看在多個測試字面上調用函數,而是使用通用的method在一個循環拿起數據在每次迭代中並執行它,作為一個unittest

原因是,我至少有1000行參數化數據,我想編寫unittest 很顯然,我不能寫去千個unittests物理。

有人可以請你指點一下實現上述目標。

有qunit插件允許運行參數化的quint測試
https://github.com/AStepaniuk/qunit-parameterize

因此,您可以分離測試數據測試方法,並針對不同的數據集運行相同的測試方法。

這是一篇非常古老的帖子,但我自己就遇到了這個問題,並且在沒有使用其他評論(qunit-parameterize)引用的插件的情況下無法為QUnit找到一個干凈的解決方案。 老實說,我無法弄清楚如何將插件與我公司的項目集成,並在大約一個小時后就放棄了。

這就是我最終解決它的方法:

只需使用您的輸入(以及預期的輸出,如果需要)定義一個數組,迭代您的數組,並在回調中定義QUnit測試! 超級簡單,真的,但工作得很好。

const testCases = [
    { input: "01/01/2015", expected: "2015-01-01" },
    { input: "09/25/2015", expected: "2015-09-01" },
    { input: "12/31/2015", expected: "2015-12-01" }
];

testCases.forEach(testCase => {
    QUnit.test("gets first of month",
    () => {
        const actual = new classUnderTest().getFirstOfMonth(testCase.input);
        strictEqual(actual, testCase.expected);
    });
});

我不確定QUnit是否會發現測試是否嵌套,但它確實很好。

請享用!

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM