私のJSONがAJAX経由で正しく配列されるようにQUnitテストを作成しましたが、ブラウザでうまく動作しますが、グランント経由で実行するとエラーが発生します:グランツはajaxコールでqunitテストを実行しませんでした
ここRunning "qunit:files" (qunit) task
Testing test/index.html ...
>> PhantomJS timed out, possibly due to:
>> - QUnit is not loaded correctly.
>> - A missing QUnit start() call.
>> - Or, a misconfiguration of this task.
Warning: 1 tests completed with 1 failed, 0 skipped, and 0 todo.
0 assertions (in 0ms), passed: 0, failed: 0 Use --force to continue.
Aborted due to warnings.
私のテスト:
QUnit.test("TSO json loader test", function (assert) {
assert.expect(2);
var done = assert.async();
var done1 = assert.async();
var tsoGrid = new TsoGrid(".testCont");
tsoGrid.loadJsonDataArray("/test/ajax.json", {}, function (jsonResult) {
assert.ok(jsonResult[0][0] === "Lorem ipsum", 'ajaxImportFromJson');
done();
var jsonRes = jsonResult.importFromJsonArray();
var resArray = [["Lorem ipsum"],
["Pellentesque habitant morbi tristique senectus et netus et malesuada fames ac turpis egestas. Vestibulum tortor quam, feugiat vitae, ultricies eget, tempor sit amet, ante."],
[
[["Lorem ipsum dolor sit amet, consectetuer adipiscing elit."],
["Aliquam tincidunt mauris eu risus.", "Aliquam tincidunt mauris eu risus.1", "Aliquam tincidunt mauris eu risus.2"],
["Vestibulum auctor dapibus neque."]]
]];
assert.ok(jsonRes.isEquals(resArray), 'AjaxImportFromJsonArray');
done1();
});
});
私はこれについてグーグルしようとするが、QUnitは()非同期に移動し、スタートを使用して停止した後、()と(停止)すべての答えが廃止されました:(
私は問題を見つける、ここで解決策:
私はそれを削除すると、私はそれを削除すると、自分自身のサイトのルートからクエリを設定し、今gruntからテストに合格!
tsoGrid.loadJsonDataArray("ajax.json", {}, function (jsonResult) {
パスから/test/
を削除:
だから、私たちはこれに文字列を変更する必要があります。
なぜあなたは 'done'と' done1'を持っています:
ここでの作業テストですか?両方を必要とすべきではありません。 – jakerella
@ジャケレラもし私がそうなったら、ブラウザにエラーが表示されます:
Too many calls to the 'assert.async' [email protected] 28 ms Source: \t @http://tso/test/test.js:137:9
–何ですか?いいえ...あなたは1つだけ必要です...最後のもの。 – jakerella