我的test_dir中有一堆文件,问题是它们必须单独运行,因为其中一个是测试只能在浏览器中运行的代码而另一个是测试只能运行的代码在后端。
现在,我知道-n
有一个pub run test
参数用于指定测试名称,但是如何运行特定文件?从文档中不太清楚,我无法成功实现这一目标。
答案 0 :(得分: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() {
// ...
}
当您运行所有测试时,如
pub run test -pchrome -pfirefox -pie
然后不会运行此测试,因为未包含-pvm
。
这允许像
这样的细粒度配置例如,如果您想在除Chrome之外的所有浏览器上运行测试,则应编写
@TestOn("browser && !chrome")
。
对于所有其他配置选项,测试包具有很好的README。
答案 1 :(得分:1)
如果您将测试分成单独的文件,例如browser_test.dart
和vm_test.dart
,那么它只是:
pub run test test/browser_test.dart
pub run test test/vm_test.dart