rails茶匙在引擎中测试未加载*_spec.js

rails teaspoon Testing in engine Not loading *_spec.js

本文关键字:加载 spec js 测试 引擎 rails      更新时间:2023-09-26

我正在一个引擎(gem)上工作,有一些js代码要测试,但似乎我不能让它工作。我遵循wiki文章并设置了一个基本的例子,但我只得到0 examples, 0 failures

步骤做:

  • 在gemspec文件中增加了s.add_development_dependency '茶匙-茉莉'
  • dummy在spec/dummy
  • 中规格/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
    
  • Rakefile:

    desc "Run the javascript specs"
    task :teaspoon => "app:teaspoon"
    
  • spec/javascripts/spec_helper.js(生成时默认)
  • 规范/javascript/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

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

  • $> bundle exec茶匙
  • $> rake茶匙
  • $> bundle exec茶匙spec/javasscripts/example_spec.js
  • 甚至$> bundle exec茶匙spec/javasscripts/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示例

特别是,与茶匙设置相关的提交是这个

这是由于测试中的箭头函数。将其更改为普通JS以使其工作:

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

浏览器选项在es6中运行良好

尝试为Rakefile使用Rake命令

rake spec