flutter_rounded_loading_button icon indicating copy to clipboard operation
flutter_rounded_loading_button copied to clipboard

Flutter Widget Test doesn't seem to work.

Open patterueldev opened this issue 3 years ago • 1 comments

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.

patterueldev avatar Jul 08 '22 22:07 patterueldev

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.

patterueldev avatar Jul 08 '22 23:07 patterueldev