问题是 jasmine-jquery 没有从 spec/fixtures 文件夹加载我的装置。现在,当我查看 jasmine-jquery 源代码时,fixtures 的默认路径是 spec/javascripts/fixtures
在我拥有的版本中,没有 spec/javascripts/fixtures 文件夹。看起来它是Ruby gem的东西。我也尝试创建 javascripts 文件夹 但它仍然无法加载它。当我将我的装置片段放在 SpecRunner.html 正文中时 - 它起作用了。

这是我的 html 片段:

<ul class="fr">
    <li></li>
</ul>

规范文件:
describe("something to describe", function() {

    it("should see a DOM element", function() {
        loadFixtures("custom.html");
        expect($(".fr")).toExist();
    });
});

那是路径的错误还是什么?

解决了:
这是谷歌浏览器的问题。默认情况下,它不允许通过同源策略访问其他域。解决方案是从本地服务器运行应用程序,或使用火狐。

最佳答案

它确实与Chrome有关。这是一个名为 Same-Origin Policy 的安全概念。

您仍然可以在禁用该安全检查的情况下使用 Chrome,而不是从本地服务器运行 Firefox 或应用程序。

只需使用命令行参数 --allow-file-access-from-files 运行 Chrome/Chromium:

google-chrome --allow-file-access-from-files

记住! 由于这是一项安全功能,因此禁用它会使您的计算机处于危险之中。建议仅在测试本地网站/应用程序时使用此参数(通过不同的快捷方式/别名)。

关于fixtures - Jasmine jquery 夹具未加载,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/15589560/

10-12 15:48