Jasmine jQuery:loadFixtures()“undefined”?

时间:2012-12-03 05:17:52

标签: javascript jasmine

我的设置

  1. Win7的位/ 64位
  2. Wamp Server
  3. SublimeText 2
  4. 我做了什么......

    1. 通过ruby (jasmine init)
    2. 加载茉莉花
    3. Ran rake (rake jasmine)
    4. 删除了所有默认的公共javascripts,spec文件和帮助文件。
    5. 将jquery和jasmine-jquery添加到“helpers”目录
    6. 打开浏览器,启动liveReload并运行以下测试......
    7. ...其中只传递了“ readFixtures()”。所有其他人都失败跆拳道?请指教!

      readFixtures()”测试工作正常......

      describe("test read fixtures", function() {
          it("should be able to read fixtures", function() {
              // expect(readFixtures()).toBeDefined();
              expect(readFixtures()).toBeDefined();
          });
      });
      

      loadFixtures()”测试返回“预期未定义的定义。”

      describe("test load fixtures", function() {
          it("should be able to load fixtures", function() {
              // expect(loadFixtures()).toBeDefined();
              expect(loadFixtures()).toBeDefined();
          });
      });
      

      setFixtures()”测试返回“预期未定义要定义。”

      describe("test set fixtures", function() {
          it("should be able to set fixtures", function() {
              // expect(setFixtures()).toBeDefined();
              expect(setFixtures()).toBeDefined();
          });
      });
      

1 个答案:

答案 0 :(得分:4)

我认为你没有测试你想要的东西。函数setFixturesloadFixtures没有返回值。这意味着当你致电setFixtures()时,它将始终返回undefined。 您想测试函数的定义,而不是函数的返回值。您的测试应该是这样的:

it("should be able to set fixtures", function() {
    expect(setFixtures).toBeDefined(); // Notice I took out the ()
});