Javascript Jasmine jQuery:loadFixtures();未定义的“;?

Javascript Jasmine jQuery:loadFixtures();未定义的“;?,javascript,jasmine,Javascript,Jasmine,我的计划 Win7/64位 Wamp服务器 升华文本2 我所做的 通过ruby加载jasmine(jasmine init) Ran rake(rake jasmine) 删除了所有默认的公共Java脚本、规范文件和帮助文件 将jquery和jasmine jquery添加到“helpers”目录中 打开浏览器,启动liveReload并运行以下测试 。。。其中,只有“readFixtures()”通过。其他的都失败了。世界跆拳道联盟?请告知 “readFixtures()”测试工作正常 des

我的计划

  • Win7/64位
  • Wamp服务器
  • 升华文本2
  • 我所做的

  • 通过ruby加载jasmine(jasmine init)
  • Ran rake(rake jasmine)
  • 删除了所有默认的公共Java脚本、规范文件和帮助文件
  • 将jquery和jasmine jquery添加到“helpers”目录中
  • 打开浏览器,启动liveReload并运行以下测试
  • 。。。其中,只有“readFixtures()”通过。其他的都失败了。世界跆拳道联盟?请告知

    readFixtures()”测试工作正常

    describe("test read fixtures", function() {
        it("should be able to read fixtures", function() {
            // expect(readFixtures()).toBeDefined();
            expect(readFixtures()).toBeDefined();
        });
    });
    
    loadFixtures()“测试返回”预期未定义

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


    我想你不是在测试你想要的。函数
    setFixtures
    loadFixtures
    没有返回值。这意味着当您调用
    setFixtures()
    时,它将始终返回undefined您希望测试函数是否已定义,而不是函数的返回值。您的测试应该如下所示:

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

    我想你不是在测试你想要的。函数
    setFixtures
    loadFixtures
    没有返回值。这意味着当您调用
    setFixtures()
    时,它将始终返回undefined您希望测试函数是否已定义,而不是函数的返回值。您的测试应该如下所示:

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

    更新:尝试重新启动。同样的问题。使用fresh jasmine测试套件创建了一个新目录,并遵循上述步骤。同样的results.update:做了一个“view>source”来查看原始html,并注意到jasmine jquery是在jquery之前加载的。在jasmine.yml中更改了这一点,以便jquery首先加载。仍然没有看到loadFixtures或setFixtures.update 3:将wamp从等式中删除,并从不同驱动器上的不同文件夹运行。还是没有变化。我累坏了。更新4:我决定无论如何试着加载一个夹具,结果成功了!在一个测试中,我运行了“loadFixtures(“testfixture.html”);”和“expect($(“.container”)).toExist();”。这成功了!我有一个div,在一个文件textfixture.html(/spec/javascripts/fixtures)中有一个容器类。更新:尝试重新启动。同样的问题。使用fresh jasmine测试套件创建了一个新目录,并遵循上述步骤。同样的results.update:做了一个“view>source”来查看原始html,并注意到jasmine jquery是在jquery之前加载的。在jasmine.yml中更改了这一点,以便jquery首先加载。仍然没有看到loadFixtures或setFixtures.update 3:将wamp从等式中删除,并从不同驱动器上的不同文件夹运行。还是没有变化。我累坏了。更新4:我决定无论如何试着加载一个夹具,结果成功了!在一个测试中,我运行了“loadFixtures(“testfixture.html”);”和“expect($(“.container”)).toExist();”。这成功了!我有一个div,在一个文件textfixture.html(/spec/javascripts/fixtures)中有一个容器类。所以…该死!有些事让我上床睡觉,因为我累了总是惹上麻烦!谢谢安德鲁!该死有些事让我上床睡觉,因为我累了总是惹上麻烦!谢谢安德鲁!
    it("should be able to set fixtures", function() {
        expect(setFixtures).toBeDefined(); // Notice I took out the ()
    });