2012-10-03 7 views
5

私はAngularJSプロジェクトの単体テストを作成しようとしています。このプロジェクトは、角種子に基づいており、Testacularを使用してテストを実行しています。 test.shスクリプトを実行しようとするたびに、 "Executed 0 of 0 SUCCESS"が常に終了します。AngularJS + Testacular/Jasmine単体テスト:0の0実行SUCCESS

私はこの超簡単な「テスト」を試してみました:

describe('Testing Jasmine', function() { 
    console.log('describe'); 
    var test = 'test'; 

    it('should be test', function() { 
    console.log('it'); 
    expect(test).toEqual('test'); 
    }); 
}); 

結果のみ「説明」が記録され、「それは一部がスキップされていることです。クリーンな角種子のクローンで同じことをしようとすると、すべてがうまくいきます。つまり、TestacularとJasmineのテストシステム自体が正常に動作していると仮定します。 私たちのプロジェクトはRailsに基づいていますが、比較のためにテストしていたきれいな角種子はApache上で実行されているので、これはRailsプロジェクトのパスや何かの違いかもしれません。

エラーメッセージはありません.e2eテストが動作します...また、いくつかのファイルが見つからないか、パスが正しくないと、テストで「記述する」ことができないと思います。 Jasmineが正しいファイルを処理していることを意味します(この疑似テストには他の依存関係はありません)。 「記述する」部分はうまく機能し、「部分」はスキップされるように見えるのはどうでしょうか?

ヒントや助けていただければ幸いです。

+0

e2eテストとユニットテストの両方で同じ設定を再利用しようとしていますか?その場合は、e2eと単体テスト用の個別の設定を作成します。それはまさにphonecatチュートリアルで説明されています。 https://github.com/vojtajina/testacular/issues/66をチェックしてください。 – Vojta

答えて

1

Javascriptファイルの順序を確認してください。

同様の問題がTestacularとreordering the js files fixed the problemで報告されました。

+0

なぜこの回答が下落したのか分かりません。私は全く同じ症状がありました。私はjavacriptファイル(私のtestacular設定ファイル内)の読み込み順序を見て解決することができました – user35559

+0

リンクが壊れています。 – ReactiveRaven

2

e2e試験では、試験に行くには長い道のりがあります。私はしばらくこのことに苦労しました。 expectの左側は、角度のドキュメントに定義されているメソッドの1つでなければなりません。http://docs.angularjs.org/guide/dev_guide.e2e-testing

には、以下のあなたが期待に呼び出して、testacularは「それは

1

はまたことを確認して実行されません規定する方法の一つに入るいけない場合

describe('Testing Jasmine', function() { 

    it('should be test', function() { 
    expect(element('foo').count()).toEqual(1); 
    }); 

}); 

は、覚えておいてください例です。あなた「これらの引数のいずれかがウォンをランナーと機能angularInit()の要素を見つけることができませんので、場合

'ng:app', 'ng-app', 'x-ng-app', 'data-ng-app' 

を:あなたがテストしているページ上で使用されるこれらの属性のいずれかを持っていますtスタート。

これは、ng-appを持たないwebage上で角度テストランナーを使用したい場合に特に重要です。現在のバージョンでは動作しません。

6

ユニットテストを行っている場合は、testacular設定ファイルにangular-scenario.jsファイルを含めないでください。それはユニットテストを壊すでしょう。

+0

ビンゴ。角度シードレポには、testacular.conf.jsの 'app/lib/angular/angular - *。js'が含まれていて、その行を削除すると問題が解決されます。 – arthurakay

+0

または、次を追加してください: exclude = ['assets/js/lib/angular-scenario.js']; – vladexologija

関連する問題