Widget 测试 TextFormField obscureText 值
Widget testing TextFormField obscureText value
我似乎找不到小部件测试 TextFormField 是否将 obscureText 设置为 true 或 false 的方法。
我知道 TextFormField 是 TextField 的包装器,而 obscureText 是 TextField 的 属性,但我想不出在我的测试中访问 obscureText 的方法。
因此,当我尝试访问 obscureText 时,我收到消息:getter 'obscureText' 没有为类型 'TextFormField'
定义
有人知道如何测试 TextFormField 的 obscureText 属性 吗?
testWidgets(
'show and hide password fields',
(
WidgetTester tester,
) async {
await tester.pumpWidget(
materialWrapper(
child: emailSignUpScreen,
),
);
final Finder passwordTextFormField = find.byKey(
const Key(
'passwordTextFormField',
),
);
final TextFormField input =
tester.widget<TextFormField>(passwordTextFormField);
expect(input.obscureText, true);
},
);
TextFormField
使用 EditableText
来隐藏它,你可以这样做:
final passwordTextFormField = find.descendant(
of: find.byKey(const Key('passwordTextFormField')),
matching: find.byType(EditableText),
);
final input = tester.widget<EditableText>(passwordTextFormField);
expect(input.obscureText, isTrue);
我似乎找不到小部件测试 TextFormField 是否将 obscureText 设置为 true 或 false 的方法。
我知道 TextFormField 是 TextField 的包装器,而 obscureText 是 TextField 的 属性,但我想不出在我的测试中访问 obscureText 的方法。
因此,当我尝试访问 obscureText 时,我收到消息:getter 'obscureText' 没有为类型 'TextFormField'
定义有人知道如何测试 TextFormField 的 obscureText 属性 吗?
testWidgets(
'show and hide password fields',
(
WidgetTester tester,
) async {
await tester.pumpWidget(
materialWrapper(
child: emailSignUpScreen,
),
);
final Finder passwordTextFormField = find.byKey(
const Key(
'passwordTextFormField',
),
);
final TextFormField input =
tester.widget<TextFormField>(passwordTextFormField);
expect(input.obscureText, true);
},
);
TextFormField
使用 EditableText
来隐藏它,你可以这样做:
final passwordTextFormField = find.descendant(
of: find.byKey(const Key('passwordTextFormField')),
matching: find.byType(EditableText),
);
final input = tester.widget<EditableText>(passwordTextFormField);
expect(input.obscureText, isTrue);