Flutter Dart测试:EXPECT流不发射任何东西
我想检查一些Flutter Dart测试:EXPECT流不发射任何东西,flutter,unit-testing,dart,bloc,Flutter,Unit Testing,Dart,Bloc,我想检查一些流(例如bloc)在单元测试期间是否没有发出任何东西 更详细的描述:我使用和包。正在测试的系统是一个整体。我的测试: test('sut emits nothing', () { final event = SomeEvent(false); sut.add(event); expectLater( sut, emitsNothing, // <---- HERE I want to check that sut emi
流
(例如bloc)在单元测试期间是否没有发出任何东西
更详细的描述:我使用和包。正在测试的系统是一个整体。我的测试:
test('sut emits nothing', () {
final event = SomeEvent(false);
sut.add(event);
expectLater(
sut,
emitsNothing, // <---- HERE I want to check that sut emits nothing
);
});
我能查一下吗?非常感谢您的帮助。您可以使用软件包来实现这一点
您可以通过使用包来实现这一点
我按照你的建议试了一个测试包。它真的很有用,它允许检查bloc是否不发射任何东西!不使用
verify
选项,只需将[]传递给expect
参数即可。非常感谢你!我已经投票赞成你的答案了。如果你想让我接受它是正确的,请添加一些关于将[]传递到expect
的信息和一些相关代码。@moloko这很有趣,我会在业余时间尝试一下,同时我已经根据你的喜好更新了代码。请告诉我是否需要添加任何具体内容:)我按照您的建议尝试了bloc_测试包。它真的很有用,它允许检查bloc是否不发射任何东西!不使用verify
选项,只需将[]传递给expect
参数即可。非常感谢你!我已经投票赞成你的答案了。如果你想让我接受它是正确的,请添加一些关于将[]传递到expect
的信息和一些相关代码。@moloko这很有趣,我会在业余时间尝试一下,同时我已经根据你的喜好更新了代码。如果我需要添加任何特定内容,请告诉我:)
@override
Stream<State> mapEventToState(Event event) async* {
if (event is SomeEvent) {
// If `flag` is true - then bloc emits a state,
// if `flag` is false - then bloc emits nothing.
if (event.flag) {
yield State.someState;
}
}
}
abstract class Event extends Equatable {}
class SomeEvent extends Event {
final bool flag;
SomeEvent(this.flag);
@override
List<Object> get props => [flag];
}
blocTest(
'CounterBloc emits no events',
build: () => CounterBloc(),
act: (_) {}, // no action taken
expect: [], // no event emitted
);