mocha、zombie、およびchaiを使用してクロスページテストを行いました。のWeb開発ノード& Expressmocha、zombie、chaiを使用して不明なテストに失敗しました
バージョン情報:macOS 10.12.2、mocha 3.5.0、chai 3.2.0、zombie 5.0.5、node v7.4.0。
QA JSコード:
var Browser = require("zombie");
var assert = require("chai").assert;
var browser;
suite("Cross-Page Tests", function() {
setup(function() {
browser = new Browser();
})
// Test (1
test("Requesting Group-Rate from the river page, should populate the referrer field", function (done) {
var referrer = "http://localhost:3000/river";
browser.visit(referrer, function() {
browser.clickLink(".requestGroupRate", function() {
assert(browser.field("referrer").value === referrer);
done();
})
})
})
// Test (2
test("Requesting Group-Rate from the coast page, should populate the referrer field", function (done) {
var referrer = "http://localhost:3000/coast";
browser.visit(referrer, function() {
browser.clickLink(".requestGroupRate", function() {
assert(browser.field("referrer").value === referrer);
done();
})
})
})
// Test (3
test("Visit request group rate page directly, should have an empty field.", function (done) {
browser.visit("http://localhost:3000/request-group-rate", function() {
assert(browser.field("referrer").value === "");
done();
})
})
})
ターミナルに示して何(mocha -u tdd -R spec qa/tests-crosspage.js 2>/dev/null
後):私はすべてでdone()
と呼ば 1):
...
1) Cross-Page Tests Requesting Group-Rate from the river page, should populate the referrer field:
Error: Timeout of 2000ms exceeded. For async tests and hooks, ensure "done()" is called; if returning a Promise, ensure it resolves.
2) Cross-Page Tests Requesting Group-Rate from the coast page, should populate the referrer field:
Uncaught AssertionError: No link matching '.requestGroupRate'
at Browser.clickLink (node_modules/zombie/lib/index.js:695:7)
at qa/tests-crosspage.js:28:21
at Browser.done (node_modules/zombie/lib/eventloop.js:589:11)
at node_modules/zombie/lib/document.js:819:13
at process._tickCallback (internal/process/next_tick.js:103:7)
3) Cross-Page Tests Visit request group rate page directly, should have an empty field.:
Uncaught AssertionError: No link matching '.requestGroupRate'
at Browser.clickLink (node_modules/zombie/lib/index.js:695:7)
at qa/tests-crosspage.js:18:21
at EventLoop.done (node_modules/zombie/lib/eventloop.js:589:11)
at Immediate.<anonymous> (node_modules/zombie/lib/eventloop.js:688:71)
私は混乱しますどのようなテスト、なぜテスト1がまだ時間を超過したか? 2)テスト3では、リンクマッチング '.requestGroupRate'に関連するコードはないので、どこに来るのですか?
注: 私は手動でlocalhost:3000\river
ページを確認しました。 requestGroupRate
のクラスを持つ<a>
があります。 コーストページが存在しないため、テスト2は必須テストです。