当前位置: 首页 > 知识库问答 >
问题:

颤振/dart中的模拟类或全局函数

公羊绪
2023-03-14

我试图理解模拟是如何与dart和mockito一起工作的。图片我有以下声明:

void foo(){}

同样也是一个阶级

class BarClass {
   void bar(){}
}

然后我的小部件直接访问第一个,作为foo() BarClass()

嘲笑这两个人的方法是什么?我应该通过像getit这样的东西访问他们来恰当地嘲笑他们,还是真的有办法?

共有1个答案

孟高峰
2023-03-14

您可以通过使用mockito包创建一个实现旧类功能的新类来轻松模拟类

示例代码:

class MockBarClass extends Mock implements BarClass {}

您可以通过以下方式模拟您的BarClass的方法:

final mock = MockBarClass();
when(() => mock.boo()).thenAnswer((_) {
    // your mocked response
    print("hello world");
});

您可以以相同的方式模拟不在任何类中的函数:

when(boo()).thenReturn();

来源:Remi Rousselet

我建议阅读这个解释:https://stackoverflow.com/a/36627077/12165405(即使它是为java,同样适用于那个flutter包)

 类似资料:
  • 我想使用带有Flutter的dart SDK>=2.2.0。但我目前使用的Flutter版本是2.1.2 我尝试独立安装2.2.0版本,并成功了: 然而,Flutter并没有使用你在上面看到的这个版本。我试图用独立安装的版本替换flutter使用的()文件,但是当我尝试运行flutter之后出现快照问题,因此我将原来的文件夹放回flutter目录中。 你有什么想法我该怎么更新它吗? PS:我最近(

  • 我尝试创建一个Dart单页应用程序。 我已经创建了第一个自定义元素(),它包含整个应用程序。它有一个容器,用于呈现视图。和一个侧导航,它将包含用户信息,并在用户登录时更新。 我想在视图之间共享信息。如何在

  • 我试图生成原型文件dart文件与协议插件遵循此指令https://grpc.io/docs/quickstart/dart/但当我运行此命令行 发生这种类型的错误 使用的依赖项 你好世界原型 我还尝试以下命令 如何生成或编译。飞镖/颤振中的原型文件 提前感谢:)

  • 我可以使用“startAfter”和“limit”进行分页,但它有错误。 例如,在Firestore DB中,我有7条记录: 当页面大小为5时,第一页就可以了,因为我使用了: 它给了我1-5项。 当它加载第二页时,我使用了: 问题是第二页结果只有item7,item6消失了。“开始”也有同样的问题。 真希望它有“抵消”功能,有人有解决办法吗?

  • flutter似乎在空安全检查和非空安全检查之间切换,导致了几十个问题。 空错误检查返回???

  • 我正在使用firebase云功能向特定用户发送通知。这是我从函数发送的有效负载。 我正在使用firebase_messaging(flutter package:https://pub.dartlang.org/packages/firebase_messaging)接收通知,并且我已经编写了onMessage、onLaunch和onResume方法的代码。 因此,当我使用Admin SDK发送消