私はダーツライブラリをいくつか書いており、それをユニットテストしたいと思っています。ディレクトリtest
を作成し、ここにテストを入れたいと思います。私はたくさんのテストをするつもりだから、それらを複数のファイルに分けたいと思っています。私の質問は、ダートの大会は何ですか、それを行う方法です。テストをすべて簡単に実行したいのですが、テストファイルを1つだけ実行したいと考えています。複数のunittestを複数のファイルでダーツに書き込む方法は?
あなたの提案は何ですか?
私はダーツライブラリをいくつか書いており、それをユニットテストしたいと思っています。ディレクトリtest
を作成し、ここにテストを入れたいと思います。私はたくさんのテストをするつもりだから、それらを複数のファイルに分けたいと思っています。私の質問は、ダートの大会は何ですか、それを行う方法です。テストをすべて簡単に実行したいのですが、テストファイルを1つだけ実行したいと考えています。複数のunittestを複数のファイルでダーツに書き込む方法は?
あなたの提案は何ですか?
複数のファイルにテストを分けるのが一般的です。私はあなたがそれをどうやってできるかの例を挙げています。
プログラムのテストを含むfoo_test.dart、bar_test.dartの2つのファイルがあるとします。このようなものになります
library foo_test;
import 'package:unittest/unittest.dart';
void main() {
test('foo test',() {
expect("foo".length, equals(3));
});
}
そしてbar_test.dart:
library bar_test;
import 'package:unittest/unittest.dart';
void main() {
test('bar test',() {
expect("bar".length, equals(3));
});
}
をあなたはどちらかのファイルを実行することができ、そのファイルに含まれているテストを実行でしょうfoo_test.dartはこのような何かを見ることができます。
私は、foo_test.dartとbar_test.dartからテストをインポートするall_tests.dartファイルのようなものを作成します。ここでall_tests.dartように見えることができるものである:
import 'foo_test.dart' as foo_test;
import 'bar_test.dart' as bar_test;
void main() {
foo_test.main();
bar_test.main();
}
あなたがall_tests.dartを実行した場合、foo_test.dartとbar_test.dartからの両方のテストを実行します。
注意すべきこと:これがすべて機能するには、foo_test.dartとbar_test.dartをライブラリとして宣言する必要があります(各ファイルの最初の行を参照)。次に、all_tests.dartでは、import構文を使用して、宣言されたライブラリの内容をフェッチすることができます。
これは私のテストの大部分を構成する方法です。
テストを分離するために複数のファイルを持つ必要はありません。Running only a single testとRunning a limited set of testsを参照してください。
テストを分離するには、
test()
をsolo_test()
に変更します。
すべてのテストを同じファイル(または複数の部分)に入れることができます。
正確にはDart Test Runnerのツールがあります。そのページからの抜粋:
Dart Test Runnerは、適切な環境(VMまたはブラウザ)でDartプロジェクトのすべてのテストを自動的に検出して実行します。
それはあなたのテストコードがmain()
関数内で_test.dart
接尾辞のファイルに書か任意のテストを検出します。これは、unittestテストを検出して実行することに問題はありません。
インストールして実行するのはかなり簡単です。ちょうど2つのコマンド:
$ pub global activate test_runner
$ pub global run test_runner
より多くのオプションについては、Dart Test Runnerページをご確認ください。
これは素晴らしいです、ありがとうございます! – JesterXL