flutter_rounded_loading_button
flutter_rounded_loading_button copied to clipboard
Flutter Widget Test doesn't seem to work.
I have two options when executing a tap:
/* by type: */ await tester.tap(find.byType(RoundedLoadingButton), warnIfMissed: true);
/* by key: */ await tester.tap(find.byKey(const Key("signInButton")), warnIfMissed: true);
But neither of them works at all. I get errors when trying to verify a certain function from a mock instance which is expected to be executed when the button is tapped.
This works with a regular TextButton by the way.
I found the reason. This widget has its own test, and I analyzed the difference. It turns out the animateOnTap deems the test tap not work if enabled. For testing's sake, I turn it to false when testing:
RoundedLoadingButton(
controller: _signInButtonController,
child: const Text("SIGN IN"),
onPressed: () => context
.read<SignInBloc>()
.add(SignInTapEvent(context)),
animateOnTap: !Platform.environment
.containsKey('FLUTTER_TEST'),
)
But it would be nice if we can still test it even if animateOnTap = true during tests.