1

我有以下代码:

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)。

4

1 回答 1

4

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

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

我经常遇到这个问题:Jasmine 规范中的语法错误导致测试甚至没有运行,而不是应该失败。(我相信这可能有一个针对 Jasmine 的突出错误。)

于 2012-11-23T21:10:11.410 回答