我们的主干应用程序使用gon。当我们尝试运行我们的测试时,我们gon is undefined
在浏览器的控制台中得到一个错误。我们的布局文件包含对 的调用include_gon
,但该文件没有被 jasmine 加载,因此 jasmine 在我们的第一个包含 gon.js 的 javascript 文件中失败了。我们尝试创建一个帮助器来将gon
变量分配给一个空的哈希(如夹具),但是在第一次调用 gon 之后调用了帮助器,因此没有解决我们的问题。
问问题
284 次
2 回答
0
秘诀是使用资产管道来定义我的文件的加载顺序。我从jasmine.yml
# path to parent directory of src_files
# relative path from Rails.root
# defaults to app/assets/javascripts
#src_dir: "app/assets/javascripts"
# list of file expressions to include as source files
# relative path from src_dir
#src_files:
# - "application.{js.coffee,js,coffee}"
并spec.js.coffee
用这些行创建:
#= require application
#= require jasmine-jquery
现在我的 js 文件按顺序加载了,我可以开始了。
于 2014-04-02T14:24:57.467 回答
0
对我有用的是window.gon = {}
在测试内部定义如下:
describe("A suite is just a function", function() {
beforeEach(function() {
window.gon = {}
gon.test = "this"
})
it ("should find gon", function() {
expect(gon.test).toBe("this")
})
})
于 2018-07-27T05:13:42.710 回答