dart
// Import the test package and Counter class
import 'package:counter_app/counter.dart';
import 'package:test/test.dart';
void main() {
test('Counter value should be incremented', () {
final counter = Counter();
counter.increment();
expect(counter.value, 1);
5. 整合多个测试到一个 group
如果你想运行多个有关联或者一个系列的测试,可以使用 test
package 提供的 group
函数将他们整合到一起。你可以用 flutter test
运行同一个组的所有测试。
dartimport 'package:counter_app/counter.dart';
import 'package:test/test.dart';
void main() {
group('Test start, increment, decrement', () {
test('value should start at 0', () {
expect(Counter().value, 0);
test('value should be incremented', () {
final counter = Counter();
counter.increment();
expect(counter.value, 1);
test('value should be decremented', () {
final counter = Counter();
counter.decrement();
expect(counter.value, -1);
6. 执行测试
现在 Counter
类和它的测试都有了,开始执行测试!
用 IntelliJ 或 VSCode 执行测试
IntelliJ 和 VSCode 的 Flutter 插件支持执行测试。用这种方式执行测试是最好的,因为它可以提供最快的反馈闭环,而且还支持断点调试。
IntelliJ
打开文件 counter_test.dart
前往 Run > Run 'tests in counter_test.dart'。你也可以用键盘快捷键运行测试。
你也可以打开终端,在工程根目录输入以下命令来执行所有测试:
flutter test test/counter_test.dart
你可以运行以下命令执行所以放在指定 group
里的测试:
flutter test --plain-name "Test start, increment, decrement"
该例子使用的是在 第 5 小节 创建的 group
。
你可以执行下面的命令获得更多有关单元测试的帮助: