【问题标题】:How to unit test a class that is created by provider?如何对提供者创建的类进行单元测试?
【发布时间】:2021-11-24 22:20:40
【问题描述】:

假设我有一个这样的 Counter 类

class Counter extends ChangeNotifier {
  int _i = 0;

  int get myCounter => _i;
  
  void increment() {
    _i++;
    notifyListeners();
  }

  void decrement() {
    _i--;
    notifyListeners();
  }
}

我想为它写一个测试文件,所以我像this一样公开它的实例。问题是,在我暴露它之后,我如何访问我刚刚创建的类的实例?比如我通过一个按钮增加了_i的值,我将如何访问Provider创建的实例来测试它?

【问题讨论】:

    标签: flutter flutter-test flutter-provider


    【解决方案1】:

    您首先在 main.dart 文件中使用

    初始化提供程序
    ChangeNotifierProvider
    

    之后,您可以在代码中的任何位置使用该类,方法是使用 Consumer 小部件或使用:

    final counter = Provider.of<Counter>(context)
    

    Here 是一篇关于如何使用 Provider 的好帖子/教程

    【讨论】:

    • 好的,谢谢。但这是在 Flutter 测试中,没有办法使用上下文来访问它。说,我增加了_i的值,我无法验证它是否会增加,因为我无法访问Provider/ChangeNotifierProvider创建的实例。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2023-01-10
    • 1970-01-01
    • 2020-05-01
    • 1970-01-01
    • 2015-11-23
    相关资源
    最近更新 更多