使用Javascript Promises正确使用Jasmine 单元测试功能的常用,正确或可接受的方法是什么?
示例承诺:
function readFile(filename, enc) {
return new Promise(function (fulfill, reject) {
fs.readFile(filename, enc, function (err, res) {
if (err) reject(err);
else fulfill(res);
});
});
}
function readJSON(filename) {
return new Promise(function (fulfill, reject) {
readFile(filename, 'utf8').done(function (res) {
try {
fulfill(JSON.parse(res));
} catch (ex) {
reject(ex);
}
}, reject);
});
}
解决方案应包含上述示例代码的测试。谢谢!的
答案 0 :(得分:1)
您可以考虑使用Jasminum。我使用Q promises设计了promises,但它可以使用任何符合Promise的构造函数。
describe("readFile", function () {
it("reads a file", function () {
return readFile(__filename)
.then(function (content) {
expect(content).toContain("Unlikely nonce: Xebrohio!");
});
});
});