Tôi rất mới để kiểm tra đơn vị, mocha và should.js, và tôi đang cố gắng viết một thử nghiệm cho một phương thức không đồng bộ trả về lời hứa. Đây là mã thử nghiệm của tôi:should.js không gây ra kiểm tra mocha thất bại
var should = require("should"),
tideRetriever = require("../tide-retriever"),
moment = require("moment"),
timeFormat = "YYYY-MM-DD-HH:mm:ss",
from = moment("2013-03-06T00:00:00", timeFormat),
to = moment("2013-03-12T23:59:00", timeFormat),
expectedCount = 300;
describe("tide retriever", function() {
it("should retrieve and parse tide CSV data", function() {
tideRetriever.get(from, to).then(
function(entries) { // resolve
entries.should.be.instanceof(Array).and.have.lengthOf(expectedCount);
},
function(err) { // reject
should.fail("Promise rejected", err);
}
);
});
});
Khi tôi tự kiểm tra phương pháp tideRetriever.get
, nó liên tục giải quyết một loạt các yếu tố 27 (như mong đợi), nhưng các thử nghiệm sẽ không thất bại không phụ thuộc vào giá trị của expectedCount
. Đây là bài kiểm tra thủ công đơn giản của tôi:
tideRetriever.get(from, to).then(
function(entries) {
console.log(entries, entries.length);
},
function(err) {
console.log("Promise rejected", err);
}
);
Tôi cũng có thể đăng nguồn cho mô-đun đang được kiểm tra nếu cần.
Tôi có hiểu nhầm về Mocha hoặc should.js không? Mọi sự trợ giúp sẽ rất được trân trọng.
Bạn quên thêm "thực hiện" làm tham số của hàm – Chaoste
@Chaoste cảm ơn, đã sửa. –