问题是 jasmine-jquery 未从 spec / fixtures 文件夹加载我的灯具。现在,当我查看jasmine-jquery源代码时,灯具的默认路径是 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。
答案 0 :(得分:4)
这确实与Chrome有关。这是一个名为Same-Origin Policy的安全概念。
您可以在禁用安全检查的情况下使用Chrome,而不是从本地服务器运行Firefox或应用程序。
只需使用命令行参数--allow-file-access-from-files
运行Chrome / Chromium:
google-chrome --allow-file-access-from-files
请记住!由于这是一项安全功能,因此通过禁用它会使您的计算机面临风险。建议仅在测试本地网站/应用程序时使用此参数(通过不同的快捷方式/别名)。