如何将茉莉花测试标记为失败?

时间:2014-02-26 17:46:45

标签: javascript jasmine

我有一个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

2 个答案:

答案 0 :(得分:19)

他们最近在this commit中添加了fail()方法。它可能会随着jasmine的下一个版本发布(假设2.1,不清楚何时会发布),或者你可以从边缘构建自己的版本。

答案 1 :(得分:8)

您可以编写并注册custom matcher,其返回值中的compare函数始终失败,并将您的自定义消息分配给message属性