今天又该写简书啦,好几个星期没有写啦,一直在忙,今天跟大家分享一下组件测试,大神勿喷😁😁
一,fluter 官方提供了 mockito 这个库,来拦截方法,就是你调用一个对象的方法时,它可以模拟返回值,以达到要测试的效果,
二 flutter有一个方法叫做资料共享机制(inheritFromWidgetOfExactType)flutter 数据共享可以参考官方提供的,
1.数据共享创建
a u t h:是共享的对象
2使用上面创建的一定放在最底层
三,在test里面写组件测试代码
when(mockAuth.sound()).thenAnswer((e)=>Future.value(responses[0]));//拦截作用返回一个值
expect(await mockAuth.sound(),responses[0]);//判断返回值是佛相同
var mockAuth =MockAuth();//共享对象
LoginPage page =LoginPage(onSignedIn: () =>true);//获取要测试的界面
await tester.pumpWidget(//打桩
makeTestableWidget(child: page,auth:mockAuth)
);
await tester.tap(find.byKey(Key('songxia')));//获取见面的点击事件根据key
网友评论