3

问题是jasmine-jquery没有从spec/fixtures文件夹中加载我的灯具。现在,当我查看 jasmine-jquery 源代码时,fixture 的默认路径是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();
    });
});

这是一个错误或路径的东西吗?

已解决:这是 google-chrome 的问题。默认情况下,它不允许通过同源策略访问其他域。解决方案是从本地服务器运行应用程序,或使用 firefox。

4

1 回答 1

4

它确实与 Chrome 有关。这是一个称为同源策略的安全概念。

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

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

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

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

于 2013-08-25T21:38:49.763 回答