问题标签 [mockito-dart]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
0 回答
88 浏览

unit-testing - 如何验证在飞镖单元测试中作为参数传递的函数

我有以下功能

我想验证在以下测试中是否调用了 cacheData 函数

所以我做了这样一个模拟

但它会抛出 Used on a non-mockito object 错误。我怎样才能实现它?

0 投票
1 回答
477 浏览

unit-testing - dart mockito 中的 argThat 和 captureThat 匹配器有什么区别?

我试图在这里找到差异https://pub.dev/packages/mockito并使用该匹配器的文档但没有得到它。有人可以提供我应该使用 captureThat 而不是 argThat 的示例吗?

0 投票
1 回答
199 浏览

dart - 在 Dart 中测试异常

当围绕会抛出异常的代码编写测试时,Dart/Mockito(或其他任何东西)如何避免抛出真正的异常?例如,这些测试应该通过并检测到抛出的异常——但 Dart 在第一次测试中抛出了一个真正的异常,所以只有“它接收到一个 Todo”通过。

和模拟的 get 方法(基于 mockito 生成的代码 -@GenerateMocks([http.Client])在我的测试文件中使用时我得到相同的结果。

试运行报告:

0 投票
1 回答
67 浏览

unit-testing - 如何存根方法的回调?

我在我的 Flutter 项目中使用 Firebase Phone Auth 并想测试我的 auth 类。我知道如何使用Mockito 和典型when()的s。.thenAnswer()Future

我想测试我的身份验证方法,特别是verificationFailed回调verificationCompleted

现在我想出了这样的东西,但我不明白如何调用传递的回调。

0 投票
0 回答
34 浏览

flutter - 在 Dart 中进行单元测试时,Mockito 存根挂在等待调用上

我在 Dart 中使用 Mockito 来测试异步代码。

我有这个带有异步调用的类:

我正在尝试像这样测试它:

单元测试永远不会完成,因为它正在等待await mockUploadTask. 我如何使它完整?

0 投票
1 回答
620 浏览

flutter - Is there a way to let mockito generate mocks for integration tests in a Flutter project

Mockito generates mocks for all classes listet within the @GenerateMocks annotatio. It does so for tests in the test folder but it doesn't for tests in the integration_test folder. How do I change that?

0 投票
0 回答
62 浏览

unit-testing - 在构造函数 dart 中添加 Future 方法时出现 MissingStubError

我试图在一些 youtube 指南(bloc)中做出类似的脚步,并在生产代码中完美运行。bloc 指南显示在构造函数中输入异步函数,但是当我创建一个简单的成功测试时,会出现错误 MissingStubError。

这是请求 API 的用例(模拟):

状态管理类:

这里是演示者。我使用外部库 Rxdart 来使用响应式编程(switchMap):

和测试。在行动部分,我尝试使用 await sut.loadData(); 没有它:

这是错误:

Obs:当我删除构造函数中的函数并使用 await sut.loadData(); 在 act 部分应用测试时;完美运行。

0 投票
0 回答
37 浏览

flutter - 使用 GetIt 在 Flutter 小部件测试中未将 Mock 对象识别为 Mockito

我正在编写一个验证注销按钮的小部件测试。当通过用户按钮点击触发注销功能时,FlutterSecureStorage 中的某些项目会被清除。我想验证在我们的 Preferences 类中调用了一个方法,该类是 FlutterSecureStorage 的包装器。我们在应用程序和测试中使用 GetIt 作为依赖注入器。

在我的小部件测试中,我为 Preferences 类声明了一个 Mock,如下所示:

在我的小部件测试设置中,我有以下内容:

在我的 testWidgets 中,我获得了对模拟的引用,如下所示:

当我的小部件测试运行时,当我在上面的行之后放置一个断点时,我可以验证该prefs对象肯定是类型MockPreferences,并且与小部件测试的其他交互证明正在对模拟对象而不是真实对象调用方法。

当我尝试验证clearPreferences()使用 Mockito 的verify函数调用该方法时,如下所示:

在我可以看到 prefs 对象是一个 mockito 对象的行之后放置一个断点var prefs,但是测试不会将它识别为一个 mockito 对象并且测试失败。

任何人都可以提供任何建议吗?谢谢!