我有一个jasmine 2.0测试,如果调用一个函数,测试失败。
我有一个函数“Remote.get”,如果成功则应该调用第一个参数(这是一个回调),如果失败则调用第二个参数。
如果它调用第二个参数,我需要将测试标记为失败。
如何清楚地将测试标记为失败?
describe("my tests", function() {
it("should call the first function", function(done) {
Remote.get(
function() {
// yeah! good!
done();
},
function() {
// whoa, if we got here, then it didn't work
// fail()!
done();
}
);
});
});
我知道我可以做expect(true).toBe(false)
之类的事情,但是我得到的错误不清楚,与实际问题无关。它应该给出一个错误,例如“调用了错误的回调”或“调用了Remote.get失败”。我希望Jasmine中有更具描述性的内容。
我真正想要的是python等同于http://docs.python.org/2/library/unittest.html#unittest.TestCase.fail。
答案 0 :(得分:19)
他们最近在this commit中添加了fail()
方法。它可能会随着jasmine的下一个版本发布(假设2.1,不清楚何时会发布),或者你可以从边缘构建自己的版本。
答案 1 :(得分:8)
您可以编写并注册custom matcher,其返回值中的compare
函数始终失败,并将您的自定义消息分配给message
属性