2012-08-29 8 views
5

私はmochaを使ってnode.jsアプリケーションをテストしています。スペックファイルを整理するには?

時間が経つにつれて仕様ファイルがますます大きくなっています。テストファイルを整理するパターンはありますか(たとえば、テストごとに1つのスペックファイル)ですか?あるいは、モザの上にテストを構造化するのに役立つ他のフレームワークがありますか?あるいは、その理由のために他のテストフレームワークを好まれますか?

答えて

1

大規模なテスト/スペックファイルは、テスト対象のコードが多すぎる可能性があることを意味します。これは必ずしも当てはまるわけではありませんが、多くの場合、テストコードは常にテスト中のコードの重さを上回りますが、管理しにくい場合は、これがサインである可能性があります。

私は機能に基づいてテストをグループ化する傾向があります。私たちがexample.jsを持っているとしたら、example.tests.jsで始まると思います。

ExampleSpecと呼ばれる1つの仕様ではなく、さまざまなコンテキストに基づいて多くの仕様/テストがある傾向があります。たとえば、私は、EmptyExample,ErrorExample、およびDefaultExampleの前提条件が異なるかもしれません。これらが大きくなりすぎると、抽象的な要素が欠落しているか、またはファイルを分割して考える必要があります。しかし、生産ファイルごとに1つのテスト/ specファイルが出発点であるべきで開始するには

 
    specs/ 
     Example/ 
      EmptyExample.js 
      ErrorExample.js 
      DefaultExample.js 

:だから、次のようなディレクトリ構造で終わることができました。必要な場合にのみ分離してください。

+0

どのように実行すればよいですか?私は 'mocha testAll.js'に行きたいです。 testAll.jsにはすべてのサブテストが含まれます。これをどのように達成するのですか? –

+0

私はサブテストをどのように組み込むかについて同じ質問をしています。これまでは、モカを必要とし、プログラムを使用して物事を壊すことなく他のテストを組み込む必要があるように見えます。いずれか、またはコマンドラインで--recursiveを使用してすべてのファイルを取得します。 –

+0

@ NicolasS.Xuは本当に遅く返信しますが、あなたの仕様はすべて、あなたの仕様を実際に呼び出すサブフォルダレベルの 'index.js'に必要なcommonjsモジュールでなければなりません。これはnpmスクリプトと連携してうまく動作します。 –

関連する問題