哈喽,我是老刘
这两天发现一个Flutter 3.24版本的单元测试的一个小bug,提醒大家注意一下。
老刘自己写代码十多年了,写Flutter也6年多了,没想到前两天在一个小小的BottomNavigationBar 组件上翻了车。
给大家分享一下事件的经过。
问题经过
这件事的起因是最近想做一个自己用的小App,Flutter实现。
大家知道我一直是TDD的践行者,所以就先写了首页的测试代码。
首页底部设计有两个tab按钮,我的这个测试是点击按钮切换页面内容。
实现方法是BottomNavigationBar 配合页面内容的TabView。
结果在执行tester.tap方法的地方测试代码就崩了。
就只有一句提示

大家注意
No tests match “xxx…”
这种提示,如果经排查发现,测试代码中加入某个操作就出现,那么就可以怀疑一下是测试框架底层崩溃导致的。
我当时第一反应是不是我的BottomNavigationBar 的用法有问题?
因为之前是不用这个组件的,我们有自己封装的UI组件库,这次是图省事想简单看一下效果。
但是反复排查也没发现问题,而且真机运行也没问题。
这时候我还是怀疑我自己哪个地方没用对,于是把官方的组件测试代码拿过来试了一下。
testWidgets('BottomNavigationBar callback test', (WidgetTester tester) async {
late int mutatedIndex;
await tester.pumpWidget(
MaterialApp(
home: Scaffold(
bottomNavigationBar: BottomNavigationBar(
items: const <BottomNavigationBarIte

最低0.47元/天 解锁文章
5299

被折叠的 条评论
为什么被折叠?



