2

我在标准rails-3.2应用程序中使用jasmine-rails-0.4.5devise-2.2.3。当我运行bundle exec rake spec:javascript时,为了运行 jasmine 规范,我收到以下消息:“ Jasmine runner at '/specs' returned a 302 error: Found

由于我正在对尚未经过身份验证的服务器使用设计任何请求,因此它被重定向到登录页面。到目前为止一切都很好,这是设计的预期行为,但是 jasmine-rails 需要访问/specs url才能运行测试,所以当它尝试访问它时,它会收到这个错误:“ Jasmine runner at ' /specs' 返回 302 错误:找到

在我的 routes.rb 文件中,我添加了这一行: "*mount JasmineRails::Engine => "/my_specs" if defined?(JasmineRails)*"

有什么线索吗?谢谢

4

1 回答 1

0

这就是它解决问题的原因(我为较新版本进行了升级):

  1. 更新你的 js 库

  2. 删除“src_files”部分下的所有条目,除了 spec/javascripts/support/jasmine.yml 文件中的“assets/application.js”

  3. 添加这个文件: +++ b/spec/javascripts/support/jasmine_helper.rb @@ -0,0 +1,13 @@ +#Use this file to set/override Jasmine configuration options +#You can remove it if you don't need it. +#This file is loaded *after* jasmine.yml is interpreted. +# +#Example: using a different boot file. +#Jasmine.configure do |config| +# @config.boot_dir = '/absolute/path/to/boot_dir' +# @config.boot_files = lambda { ['/absolute/path/to/boot_dir/file.js'] } +#end +# + +Rails.application.config.action_controller.asset_host = "//localhost:8888" +Rails.application.config.base_url = ENV['BASE_URL'] || "http://localhost:8888"

  4. 摆脱这个文件:spec/javascripts/support/jasmine_runner.rb

希望这可以帮助

于 2014-09-09T01:41:08.143 回答