【发布时间】:2019-05-24 11:29:52
【问题描述】:
我有一个带有 ScrollController 作为控制器的 ListView.builder:
_buildListView(state) => ListView.builder(
itemBuilder: (_, int index) => _draw(index, state),
itemCount: state.count
controller: _scrollController,
);
我给控制器添加了一个监听器:
View() {
_scrollController.addListener(_onScroll);
}
我想测试 _onScroll 功能:
void _onScroll() {
final maxScroll = _scrollController.position.maxScrollExtent;
final currentScroll = _scrollController.position.pixels;
if (maxScroll - currentScroll <= _scrollThreshold) {
_bloc.dispatch(Fetch());
}
}
但我不知道如何测试它。这是我迄今为止尝试过的:
testWidgets('Should test the scroll',
(WidgetTester tester) async {
await tester.pumpWidget(generateApp());
await tester.pump();
await tester.drag(find.byType(ListView), const Offset(0.0, -300));
await tester.pump();
...
)}
但它根本不调用那个函数。
【问题讨论】: