0

私のユーザー名が示すように、私は Node.js の初心者です。私は多くのアイデアが本当に好きです。私はそれを学ぶことから始めようとしています。私が理解しようとしているものの 1 つは、Node.js を使用してテスト駆動環境をセットアップする方法です。

現在、ToTest.min.js という基本的な JavaScript ファイルがあります。このファイルは、getItems というメソッドを公開する ToTest というクラスを定義します。このメソッドをテストするために、Test.js に次のコードを記述しました。

var should = require("should");
var toTest = require("../ToTest.min.js");

describe('ToTest.js', function () {
    describe('test1', function () {
        var t = new ToTest();
        var items = t.getItems();

        console.log("Result: " + items.length);
        t.should.have.length(1);
    });
});

このファイルをコマンドラインから次のように実行します。

mocha Test.js

実行すると、次の出力が表示されます。

Result: 0

C:\Projects\MyProject\node_modules\sh
ould\lib\should.js:130
    throw err;
          ^
AssertionError: expected [] to have a length of 1 but got 0
    at Object.Assertion.length (C:\Projects\MyProject\node_modules\should\lib\should.js:434:10)
    at Suite.<anonymous> (C:\Projects\MyProject\Test.js:9:27)
    at context.describe.context.context (C:\Users\Myself\AppData\Roaming\npm\n
ode_modules\mocha\lib\interfaces\bdd.js:72:10)
    at Suite.<anonymous> (C:\Projects\MyProject\Test.js:5:5)
    at context.describe.context.context (C:\Users\Myself\AppData\Roaming\npm\n
ode_modules\mocha\lib\interfaces\bdd.js:72:10)
    at Object.<anonymous> (C:\Projects\MyProject\Test.js:4:1)
    at Module._compile (module.js:456:26)
    at Object.Module._extensions..js (module.js:474:10)
    at Module.load (module.js:356:32)
    at Function.Module._load (module.js:312:12)
    at Module.require (module.js:364:17)
    at require (module.js:380:17)
    at C:\Users\Myself\AppData\Roaming\npm\node_modules\mocha\lib\mocha.js:152
:27
    at Array.forEach (native)
    at Mocha.loadFiles (C:\Users\Myself\AppData\Roaming\npm\node_modules\mocha
\lib\mocha.js:149:14)
    at Mocha.run (C:\Users\Myself\AppData\Roaming\npm\node_modules\mocha\lib\m
ocha.js:306:31)
    at Object.<anonymous> (C:\Users\Myself\AppData\Roaming\npm\node_modules\mo
cha\bin\_mocha:339:7)
    at Module._compile (module.js:456:26)
    at Object.Module._extensions..js (module.js:474:10)
    at Module.load (module.js:356:32)
    at Function.Module._load (module.js:312:12)
    at Function.Module.runMain (module.js:497:10)
    at startup (node.js:119:16)
    at node.js:901:3

単体テストの結果がより適切にフォーマットされるようにレポーターを機能させるにはどうすればよいですか? 私は試した

mocha Test.js -R dot

そして、私は同じ結果を受け取りました。

4

1 に答える 1

1

itああ、ではなく、実際のテストに関数を使用する必要がありますdescribe

var should = require("should");
var toTest = require("../ToTest.min.js");

describe('ToTest.js', function () {
    it('test1', function () {
        var t = new ToTest();
        var items = t.getItems();

        console.log("Result: " + items.length);
        t.should.have.length(1);
    });
});
于 2013-08-02T14:29:26.930 に答える