6

テストする js コードを含むエンジン (gem) に取り組んでいますが、動作させることができないようです。ウィキの記事に従って基本的な例を設定しましたが、0 examples, 0 failures.

完了した手順:

  • gemspec ファイルに s.add_development_dependency 'teaspoon-jasmine' を追加しました
  • ダミーは仕様内/ダミー
  • 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
    
  • レーキファイル:

    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

また、次のコマンドを実行しようとしましたが、同じ結果が得られました。

  • $> バンドル エグゼクティブ ティースプーン
  • $> 小さじ1杯
  • $> バンドル exec ティースプーン 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 からエンジンを作成しました。

レポエンジンの例

特に、ティースプーンのセットアップに関するコミットは、この 1 つです。

4

2 に答える 2

1

これは、テストのアロー関数によるものです。機能させるには、バニラ JS に変更します。

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

ブラウザ オプションは es6 で問題なく動作します。

于 2016-07-15T09:10:43.263 に答える