0

動作する Node.js Express REST API アプリがあります。良い。

上記の API アプリをテストする Mocha/Chai/Supertest モックがあります。良い。

ただし、アプリを起動してから、個別に模擬テストを実行する必要があります。

API アプリを起動する単一の grunt コマンドを実行するにはどうすればよいですか?

それとも、何らかのテスト モードで (env var を介して) API アプリを実行し、テストのみのロジックで何らかの方法でモック テストを呼び出す必要がありますか?

いくつかのことを試して何かを動作させることはできますが、良い方法は何ですか? (「ベスト プラクティス」という言い回しを使いすぎないようにします。)

4

1 に答える 1

0

grunt-express-server と grunt-mocha-test でそれを行うことができます。以下のようにタスクをセットアップする必要があります。

grunt.registerTask('test', ['express:test', 'mochaTest']);

これにより、テスト環境用に設定した構成で Express サーバーが実行され、実行時に mocha が実行されますgrunt test

スーパーテストを使用しているので、機能テストを行っていると思います。つまり、開発とテストに同じデータベースを使用することになります (何かをモックしていない場合)。これにより、時間が失われ、データが正しくないためにテストが失敗する可能性があります。2 つの異なる環境を使用すると、テストの実行時にデータの状態を確認できます。

手動で行う必要がない場合は、grunt watch プラグインを使用して、ファイルの変更時にテストを再起動できます。

お役に立てれば

于 2014-10-04T14:59:53.227 に答える