我有以下代码:

describe("Player", function() {

    var player;

    beforeEach(function(){
        player = new Player({
            name: "Mark"
        });
    });

  it("has a name", function() {
      expect(player.name).toEqual("Mark");
  });

  it("has a score"), function() {
        expect(player.score).toEqual(0);
  };

});


茉莉花说,即使player.scoreundefined,它也通过了2个规格

如果我做...

  it("has a score"), function() {
       console.log("hello")
       expect(player.score).toEqual(0);
  };


我可以看到第二项测试从未运行。有什么想法吗? (这是我第一次使用Jasmine)。

最佳答案

第二个规范(it()调用)中的右括号放置不正确。它应显示为:

it("has a score", function() {
    expect(player.score).toEqual(0);
});


我经常遇到这个问题:Jasmine规范中的语法错误导致测试甚至无法运行,而不是按预期的方式失败。 (我相信那里may be an outstanding bug against Jasmine for this。)

关于javascript - 实际上,只有第一个测试在Jasmine中运行,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/13535594/

10-13 08:07