私はtest_dirにたくさんのファイルを持っていますが、問題は別々に実行する必要があることです。その1人がブラウザでのみ実行できるコードをテストしていて、もう1つはバックエンド。pub run testで特定のDart _testファイルを実行するにはどうすればよいですか?
ここで、pub run test
には-n
という引数がありますが、特定のファイルを実行するにはどうすればよいですか?ドキュメンテーションからはそれほど明確ではなく、私はそれをうまく達成できませんでした。
私はtest_dirにたくさんのファイルを持っていますが、問題は別々に実行する必要があることです。その1人がブラウザでのみ実行できるコードをテストしていて、もう1つはバックエンド。pub run testで特定のDart _testファイルを実行するにはどうすればよいですか?
ここで、pub run test
には-n
という引数がありますが、特定のファイルを実行するにはどうすればよいですか?ドキュメンテーションからはそれほど明確ではなく、私はそれをうまく達成できませんでした。
あなたはちょうどあなたが唯一のコンソールまたはブラウザのみで特定のテストを実行したい場合は、テストごとまたはファイルごとまたはあるいはプロジェクトでこれを設定することができ、ディレクトリやコンクリートのファイル名
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です。あなたが別々のファイルにテストを分離している場合は
、browser_test.dart
とvm_test.dart
を言うが、それは単にです:
pub run test test/browser_test.dart
pub run test test/vm_test.dart
を参照してください。