【问题标题】:how i can test my flutter custom statefulwidget parameter change我如何测试我的颤振自定义 statefulwidget 参数更改
【发布时间】:2021-12-29 05:53:38
【问题描述】:

我有一个名为“Counter”的自定义小部件,我可以在其中传递一些参数,例如 initiaValue、onChange 回调等。

现在我编写了一个测试用例来测试初始值更改时的“Counter”小部件,这是我的测试用例代码:

  testWidgets('Counter value option can set every number and can change everytime', (WidgetTester tester) async {
    final TextEditingController controller = TextEditingController();

    int counterInitVal = 10;
    await tester.pumpWidget(
      MaterialApp(
        home: Scaffold(
          body: Counter(
            customTextController: controller,
            value: counterInitVal,
          ),
        ),
      ),
    );

    expect(controller.text, equals("10"));

    counterInitVal = 20;
    await tester.pumpAndSettle(Duration(milliseconds: 600));

    expect(controller.text, equals("20"));
  });

第一个期望是通过,第二个是失败,那么我该如何测试呢?

【问题讨论】:

    标签: flutter flutter-test


    【解决方案1】:

    int 类型不是引用类型。所以该值不会影响Counter 的值。 Counter 小部件在更改值时不会重新呈现。

    在这种情况下,使用像Provider这样的状态管理工具是最好的选择。

    或者在Counter 小部件中使用您的函数进行测试。

    【讨论】:

      猜你喜欢
      • 2020-10-02
      • 2020-11-01
      • 2021-04-05
      • 2020-10-13
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2022-01-04
      相关资源
      最近更新 更多