我正面临下一种情况。我有一个带有TextFormField和GestureDetector(内部带有图像)的堆栈,当它被点击时,它会使TextFormField中的文本模糊。按下普通眼图标以显示密码。
它实际上正在工作,但是我正在尝试进行测试以覆盖它,但我找不到解决方法。这是我目前所拥有的,但是文本没有显示出来。
testWidgets('Eye button reveals the password', (WidgetTester tester) async {
await tester.pumpWidget(
overlay(
child: PasswordFormField(hint: 'M'),
),
);
await tester.showKeyboard(find.byType(PasswordFormField));
await tester.enterText(find.byType(TextFormField), 'P');
await tester.pump(const Duration(seconds: 2));
String password = findRenderEditable(tester).text.text;
expect(password, '\u2022');
await tester.press(find.byType(SvgPicture));
await tester.pump();
password = findRenderEditable(tester).text.text;
expect(password, 'P');
});
最后的期望失败,表明密码不是P而是'\ u2022'。