简单的类测试不通过

时间:2012-09-13 02:52:31

标签: javascript coffeescript jasmine

我是JavaScript的新手。我正在学习有关Jasmine测试的Class。我试图清除测试,但尽管我的努力,Jasmine并没有显示绿色。

我的代码如下:

// Generated by CoffeeScript 1.3.3
var Animal;

Animal = (function() {

  function Animal() {}

  Animal.prototype.walk = function() {
    return 'tok tok...';
  };

  return Animal;

})();

测试代码如下:

// Generated by CoffeeScript 1.3.3

describe("Animal", function() {
  var animal;
  animal = new Animal;
  it("shold walk", function() {
    expect(animal.walk).toBe('tok tok...');
  });
});

来自Jasmine的消息如下:

Expected Function to be 'tok tok...'.
Error: Expected Function to be 'tok tok...'.
    at new jasmine.ExpectationResult (http://localhost:8888/__JASMINE_ROOT__/jasmine.js:102:32)
    at null.toBe (http://localhost:8888/__JASMINE_ROOT__/jasmine.js:1194:29)
    at null.<anonymous> (http://localhost:8888/__spec__/AnimalSpec.js:8:25)
    at jasmine.Block.execute (http://localhost:8888/__JASMINE_ROOT__/jasmine.js:1024:15)
    at jasmine.Queue.next_ (http://localhost:8888/__JASMINE_ROOT__/jasmine.js:2025:31)
    at goAgain (http://localhost:8888/__JASMINE_ROOT__/jasmine.js:2015:18)

我很累。谢谢你的善意......

1 个答案:

答案 0 :(得分:4)

您需要执行该函数,将函数的结果与字符串进行比较,而不是函数本身。

expect(animal.walk()).toBe('tok tok...');