6

jasmine-node と RequireJS を使用して jasmine テストを適切に実行するにはどうすればよいですか?

私はすでにこのようなことを試しましたが、うまくいきません(CoffeeScript):

requirejs = require 'requirejs'
requirejs.config { baseUrl: __dirname + '/../' }

requirejs ['MyClasses', 'FooClass'], (MyClasses, FooClass) ->

  describe "someProp", ->
    it "should be true", ->
      expect(MyClasses.FooClass.someProp).toEqual true

0 秒で完了 0 テスト、0 アサーション、0 失敗

私の目標は、RequireJS、CoffeeScript を使用してモジュラー クラスを作成することであり、クラスは jasmine-node (CI サーバー) でテスト可能でなければなりません。

どうすればそれができますか?ありがとうございました!

編集:

コマンドでテストを実行します(テストのあるディレクトリで):

jasmine-node ./
4

3 に答える 3

0

誰かがこれに遭遇した場合、この質問が尋ねられてから多くの変更がありました. 最初に確認することは、ファイルにthing.spec.coffee.

ただし、テストを実行しても出力「0 tests」が表示される場合は、requirejs 構成で JavaScript ファイルを作成する必要があります。これは、CoffeeScript ではなく JavaScript でなければなりません。

// requirejs-setup.js
requirejs = require('requirejs');
requirejs.config({ baseUrl: __dirname + '/../' });

次に、jasmine にこのセットアップ ファイルを使用するように指示します。

jasmine-node --coffee --requireJsSetup requirejs-setup.js ./

これの良い点の 1 つは、requirejs 構成をすべてのスペック ファイルに含める必要がないことです。

ノード v12.16、jasmine-node v3.0.0、requirejs v2.3.6 でこれをテストしました。

于 2020-04-07T06:49:09.543 に答える
0

Jonathan Tran の言うとおりです。ファイル名の仕様です。

私はこれを持っています:

"scripts": {
   "install": "cake install",
   "test": "node_modules/jasmine-node/bin/jasmine-node --verbose --coffee --runWithRequireJs --captureExceptions spec"
},

私のpackage.jsonに、プロジェクト内からjasmine-nodeをインストールしましたnpm install jasmine-node

呼び出される最小限のテスト ファイルRingBuffer.spec.coffee

require ["disrasher"], (mod) ->

  describe "A test", ->
    it "should fail", ->
      expect(1).toEqual 0

プロジェクトが適切にrequireに接続されていないため、現時点では実際には機能していないと思います。その時はまたここに投稿します。

于 2013-02-12T17:04:53.627 に答える
-2

jasmine-node と require.js は完全に互換性がないようです。とはいえ、少し追加のコードを使用してノードの require.js モジュールでジャスミン テストを実行することは可能です。その方法については、https://github.com/geddski/amd-testingをご覧ください。

于 2013-01-10T12:51:32.927 に答える