0

测试在调试模式下通过,但在配置文件或发布模式下不通过。enterText即使输入有焦点,它在调用时也不会输入文本。在调试模式下,它可以毫无问题地输入文本。

4

1 回答 1

0

这是一个问题,或者更确切地说是集成测试在调试与配置文件或发布中的工作方式之间的区别。

TLDR

基本上,如果您未处于调试模式,则必须调用 binding.testTextInput.register() 才能tester.enterText工作。

  final binding = IntegrationTestWidgetsFlutterBinding.ensureInitialized() as IntegrationTestWidgetsFlutterBinding;

// Necessary for being able to enterText when not in debug mode 
  binding.testTextInput.register();

这将允许enterText在集成测试期间调用。作为警告,这将在测试期间禁用真实键盘的使用,但大多数情况下并非如此。

为什么会这样?

因为在调试模式下,这是通过在配置文件或发布模式下不起作用的断言来允许的。查看源代码

于 2022-02-08T17:42:49.527 回答