问题是 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/