问题标签 [bloc-test]

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 回答
195 浏览

flutter - Flutter: How can I unit test a Timer used by a Bloc using blocTest?

How can I test a Timer inside a Bloc, using blocTest? I’m using the bloc library, with freezed to build the state and event objects (might not matter here, but who knows).

So let’s say I have something like this in my bloc class:

So if my bloc receives a getStream event, the _myStream() function is called to handle the emitting. This function starts a timer, to submit another getStream event after 1 minute. How can I test this in a unit test without having to wait for a minute (I’m using bloc library’s bloc_test to write blocTest functions for my blocs. This comes with a wait functionality, but it really just waits for the submitted amount of time)? I’ve tried to solve this using FakeAsync, but to no avail - I could always only register the first event. I thought something like this would work, but it doesn’t: blocTest<MyBloc, MyState>( "repo should be called twice", build: () {

Is there any good solution how to test such a construction properly without actual waiting? fakeAsync seems to be the correct choice but I see myself unable to combine it with blocTest.

0 投票
1 回答
60 浏览

flutter - bloc 测试输出意外结果

我对下面的测试结果感到困惑

第一个没有通过,

但不知何故,第二个没有

我错过了什么?

谢谢你

日志
0 投票
1 回答
857 浏览

flutter - 如何使用 blocTest 对 bloc 进行单元测试?

我有一个 bloc 可以通过 id 从 orderItem 获取 cartItem 并且我想测试 bloc,我已经从 flutter_bloc 阅读了一些 bloc 测试,但我仍然不知道如何在我的 bloc 上实现它。我想使用我制作的虚拟数据进行测试。我希望它在发出 CartItemCheck 事件时获取虚拟列表,并在发出 CartItemUncheck 时删除列表。这是我的集团代码:

这是我当前的测试代码:

预先感谢您帮助我

0 投票
0 回答
264 浏览

flutter - 使用 Flutter 进行 Bloc 测试,等待异步操作

我的 Flutter 代码中有这个 bloc_test

如果我不使用等待选项,测试将失败,因为 act 事件需要 1 秒。使用等待我可以确保我们等待足够长的时间,这样测试就可以了。这似乎有点不确定..所以我的问题是,有没有办法删除等待选项并简单地等待直到处理给定的事件?

0 投票
2 回答
164 浏览

flutter - Flutter Bloc 单元测试返回一个空数组

我正在尝试使用 bloc_test 库进行单元测试。

这是我的代码。

登录肘

登录状态

单元测试

我的问题是第二个测试总是返回一个空数组。通过一些打印,我确信代码正在发出 LoggedIn 状态,但测试实际上无法识别它。

我在哪里犯了错误?:)

0 投票
0 回答
41 浏览

flutter - 错误状态:测试尝试使用 bloc_test 和 mocktail 对 T 状态类型的参数使用 any 或 captureAny

我在这里尝试了解决方案https://github.com/felangel/mocktail/issues/42但仍然出错。这是我的代码:

这是错误:

错误状态:测试尝试使用anycaptureAny类型的参数AuthenticationState,但之前未调用 registerFallbackValue 来为 注册后备值AuthenticationState

要修复,请执行以下操作:

这个实例AuthenticationState只会被传递,但永远不会被交互。因此,ifAuthenticationState是一个函数,它不必返回一个有效的对象并且可以无条件地抛出。如果您无法轻松创建 的实例AuthenticationState,请考虑定义一个Fake

我错过了什么?

0 投票
1 回答
21 浏览

flutter - 单元测试一肘

这是我第一次尝试测试我的Cubit课程,所以请耐心等待,因为我在尝试了几个小时后完全没有想法。

我正在尝试测试一个看起来像这样的简单肘部:

我要做的就是验证这两个状态是否按顺序发出。根据文档,有几种方法可以做到这一点,但我什至不确定应该使用哪一种。我更喜欢使用单元测试,虽然我都试过了。这是我所拥有的:

这是显示的错误:

预期:['ResetPasswordLoading' 实例,'ResetPasswordLoaded' 实例]
实际:[]
其中:位置 [0] 是 [],比预期短

我真的没有想法,所以希望有人能纠正我。谢谢。

0 投票
1 回答
21 浏览

flutter - BloC 测试“没有为类型‘对象’定义方法 xxx”错误

我正在尝试学习使用 bloc 进行测试。遵循文档中所述的程序。

我有 lib/cubit/counter_cubit.dart 和 lib/cubit/counterState.dart 文件

counter_cubit.dart 是:

counter_state.dart 是:

而 counter_cubit_test.dart 是:

该行act: (cubit) => cubit!.increment()正在counter_cubit_test.dart抛出The method 'increment' isn't defined for the type 'Object'.错误。

想不通。