美文网首页软件测试Flutter圈子跨平台开发
Flutter 初始项目单元测试解读

Flutter 初始项目单元测试解读

作者: Kenny锅 | 来源:发表于2019-03-02 12:31 被阅读9次

    解读全在代码的注释里,请慢用 🤣

    import 'package:flutter/material.dart';
    import 'package:flutter_test/flutter_test.dart';
    
    import 'package:flutter_app4/main.dart';
    
    void main() {
      testWidgets('Counter increments smoke test', (WidgetTester tester) async {
        // 加载 MyApp 类
        await tester.pumpWidget(MyApp());
    
        // findsOneWidget 表示找到一个文字为「0」的 Widget
        expect(find.text('0'), findsOneWidget);
    
        // findsOneWidget 表示没有文字为「1」找到 Widget
        expect(find.text('1'), findsNothing);
    
        // 模拟按了一下「+」号图片
        await tester.tap(find.byIcon(Icons.add));
    
        IconData icon = Icons.add; // 图片返回的是 IconData 类型
        Finder addIcon = find.byIcon(icon); // find.xxx 返回的是 Finder 类型
        await tester.tap(addIcon); // 再模拟按了一下「+」号图片
    
        // tester 「抽身逃走」
        await tester.pump();
    
        // tester 已经「跑路」了,所以 tap 不会执行,但也不会报错
        await tester.tap(find.byIcon(Icons.add));
    
        // findsOneWidget 表示没有文字为「0」找到 Widget
        expect(find.text('0'), findsNothing);
        // findsOneWidget 表示找到一个文字为「2」的 Widget
        expect(find.text('2'), findsOneWidget);
      });
    }
    
    

    相关文章

      网友评论

        本文标题:Flutter 初始项目单元测试解读

        本文链接:https://www.haomeiwen.com/subject/vceeuqtx.html