问题描述
我刚刚开始进行颤振小部件测试并遇到了这个问题。我想知道这是否是预期的行为。 当尝试使用 find.byType 找到我的 TextField 时,它会成功,但使用 find.byWidget 却没有。这是正常的还是我做错了什么?目标是稍后在文本字段中输入文本,然后点击按钮。
我的文本字段和按钮:
Column(
children: [
TextField(
style: TextStyle(
color: Colors.black,),autofocus: true,autocorrect: false,enableSuggestions: false,controller: _controller,cursorColor: Colors.black,decoration: Inputdecoration(
hintText: 'Fill in.....',hintStyle: TextStyle(fontSize: 18),Row(
mainAxisAlignment: MainAxisAlignment.end,children: [
ElevatedButton(
onpressed: () {
onSubmit(_controller.text);
},child: Text('Press me!',style: TextStyle(
fontSize: 18,color: Theme.of(context).primaryColorBrightness ==
Brightness.dark
? Colors.white
: Colors.black,))),],
这是我的测试:
tester.ensureVisible(find.byType(TextInputWidget));
expect(find.byType(TextInputWidget),findsOneWidget);
final a = TextField(
style: TextStyle(
color: Colors.black,controller: TextEditingController(),decoration: Inputdecoration(
hintText: 'Fill in.....',);
//expect(find.byWidget(a),findsOneWidget); // Fails
expect(find.byType(TextField),findsOneWidget); //Succeeds
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)