只有第一个测试实际上是在Jasmine中运行的

时间:2012-11-23 20:52:34

标签: javascript jasmine

我有以下代码:

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);
  };

});

Jasmine说它传递了2个规格,即使player.scoreundefined

如果我......

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

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

1 个答案:

答案 0 :(得分:4)

第二个规范(it()调用)中有一个错位的右括号。它应该是:

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

我经常遇到这个问题:Jasmine规范中的语法错误导致测试甚至没有运行,而不是像它们应该的那样失败。 (我相信may be an outstanding bug against Jasmine for this。)