javascript - rails teaspoon 在引擎中测试未加载 *_spec.js

标签 javascript ruby-on-rails rspec rubygems teaspoon

我正在开发一个引擎(gem),它有一些要测试的 js 代码,但我似乎无法让它工作。我关注了 wiki article并设置一个基本示例,但我只得到 0 个示例,0 个失败

完成的步骤:

  • 在 gemspec 文件中添加了 s.add_development_dependency 'teaspoon-jasmine'
  • dummy 在 spec/dummy 中
  • spec/teaspoon_env.rb:

    unless defined?(Rails)
      ENV["RAILS_ROOT"] = File.expand_path("../dummy", __FILE__)
      require File.expand_path("#{ENV["RAILS_ROOT"]}/config/environment", __FILE__)
    end
    
    Teaspoon.configure do |config|
       ...
       config.root = MyEngineName::Engine.root
       ...
    end
    
  • Rake 文件:

    desc "Run the javascript specs"
    task :teaspoon => "app:teaspoon"
    
  • spec/javascripts/spec_helper.js(默认生成)
  • 规范/javascripts/example_spec.js:

    describe("My great feature", function() {
      it("Bang", () => {
        expect(true).toBe(false);
      });
    });
    

问题是当我尝试运行测试引擎时,我得到:

    $> teaspoon 
    Starting the Teaspoon server...
    Thin web server (v1.7.0 codename Dunder Mifflin)
    Maximum connections set to 1024
    Listening on 127.0.0.1:57036, CTRL+C to stop
    Teaspoon running default suite at http://127.0.0.1:57036/teaspoon/default


    Finished in 0.01600 seconds
    0 examples, 0 failures

我也尝试运行以下命令,结果相同:

  • $> 捆绑执行茶匙
  • $> rake 茶匙
  • $> bundle exec teaspoon spec/javascripts/example_spec.js
  • 甚至 $> bundle exec teaspoon spec/javascripts/non_existent_file_spec.js

我不太清楚什么不起作用。作为非标准应用程序,我通过 browserify-rails 使用 es6(工作正常),并进入 engine.rb:

    config.browserify_rails.paths = [
        lambda { |p| p.start_with?(MyEngineName::Engine.root.join("app").to_s) }
    ]

任何帮助或线索将不胜感激。

更新:

我从 strach 创建了一个引擎,因此很容易检查和重现问题。

Repo Engine example

特别是,与茶匙设置相关的提交是 this one

最佳答案

这是由于您的测试中的箭头功能。将其更改为 vanilla JS 以使其工作:

it("Bang", function() {
  expect(true).toBe(false);
});

浏览器选项适用于 es6。

关于javascript - rails teaspoon 在引擎中测试未加载 *_spec.js,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38200726/

相关文章:

ruby-on-rails - Rails 中友好的字节格式

ruby-on-rails - Ruby on Rails 3 - to_json 不包括所有属性

ruby-on-rails - 没有路由匹配 { :controller= >"stocks", :action= >"create"} RSpec Rails 3

ruby-on-rails - 如果没有匹配的标签,如何让 cucumber 运行所有功能

javascript - 使用ajax请求变量填充下拉列表

javascript - 如何获取 onbeforeunload 事件的目标 URL?

JavaScript:确保表单值唯一,Java Spring Rest 作为后端

javascript - 单击按钮时,Vue 通过键将值绑定(bind)到对象

ruby-on-rails - 使用 Phusion Passenger 和 apache 的 Rails 3 在生产模式下不起作用

ruby-on-rails-3 - NOOB capybara Rspec 警告 : regexp match/. ../n 针对 UTF-8 字符串