2016-05-04 11 views
1

私はtest_dirにたくさんのファイルを持っていますが、問題は別々に実行する必要があることです。その1人がブラウザでのみ実行できるコードをテストしていて、もう1つはバックエンド。pub run testで特定のDart _testファイルを実行するにはどうすればよいですか?

ここで、pub run testには-nという引数がありますが、特定のファイルを実行するにはどうすればよいですか?ドキュメンテーションからはそれほど明確ではなく、私はそれをうまく達成できませんでした。

答えて

2

あなたはちょうどあなたが唯一のコンソールまたはブラウザのみで特定のテストを実行したい場合は、テストごとまたはファイルごとまたはあるいはプロジェクトでこれを設定することができ、ディレクトリやコンクリートのファイル名

pub run test test/some_dir/some_file_test.dart 

を追加することができます設定ファイル。

一部のテストファイルは、特定のプラットフォームでのみ動作することができます。彼らはdart:htmlまたはdart:ioを使用するかもしれません。Windowsの特定のファイルシステムの動作をテストするか、Chromeでしか使用できない機能を使用するかもしれません。 @TestOnアノテーションを使用すると、テストファイルを実行するプラットフォームを簡単に宣言できます。ただ、任意のライブラリまたはインポート宣言の前に、あなたのファイルの先頭にそれを置く:

@TestOn("vm") // or @TestOn("browser") 

import "dart:io"; 

import "package:test/test.dart"; 

void main() { 
    // ... 
} 

をあなたは-pvmではなかったので、このテストは実行されません次に

pub run test -pchrome -pfirefox -pie 

のようにすべてのテストを実行すると、含まれています。

あなたはすべてのブラウザが、クロームでテストを実行したい場合

のようなきめの細かい設定がたとえば、あなたが@TestOn("browser && !chrome")を書くでしょう。これは、ことができます。

テストパッケージのその他の設定オプションは、READMEです。あなたが別々のファイルにテストを分離している場合は

関連する問題