【发布时间】:2021-02-09 11:17:24
【问题描述】:
我正在尝试为我的 Flutter 应用程序创建测试。简单例子:
class MyWidget extends StatelessWidget {
@override
build(BuildContext context) {
return MySecondWidget();
}
}
我想验证 MyWidget 实际上是在调用 MySecondWidget 而不构建 MySecondWidget。
void main() {
testWidgets('It should call MySecondWidget', (WidgetTester tester) async {
await tester.pumpWidget(MyWidget());
expect(find.byType(MySecondWidget), findsOneWidget);
}
}
在我的情况下,这不起作用,因为MySecondWidget 需要一些特定且复杂的设置(如 API 密钥、Provider 中的值...)。我想要 "mock" MySecondWidget 是一个空的 Container(例如),这样它就不会在测试期间引发任何错误。
我该怎么做?
【问题讨论】:
-
你最终弄清楚了吗?
-
恐怕不太容易做到
标签: flutter testing dart mocking flutter-test