我正在学习flutter中的集成测试,我遇到了一个问题。
我的应用程序包含一个登录按钮小部件,我的测试从启动它开始。
然而,我似乎不能把它作为目标。
每次尝试都会导致以下错误:
integration_test/doctor_integration_test.dart:21:24: Error: Getter not found: 'SignInPage'.
expect(find.byType(SignInPage), findsOneWidget);
^^^^^^^^^^
FAILURE: Build failed with an exception.
SignInPage在以下范围内调用:
MaterialApp _buildMaterialApp(BuildContext context) {
return MaterialApp(
title: 'Skinopathy: Doctor',
theme: ThemeData(
primarySwatch: Colors.blue,
visualDensity: VisualDensity.adaptivePlatformDensity,
),
routes: {
'/': (context) {
return BlocListener<AppBloc, AppState>(
listener: (context, state) {
if (state is AppAuthenticated) {
Navigator.pushReplacement(
context,
MaterialPageRoute(
builder: (_) => WelcomePage(),
),
);
} else if (state is AppUnauthenticated) {
Navigator.pushReplacementNamed(context, '/sign_in');
} else if (state is AppOutdated) {
Navigator.pushReplacement(
context,
MaterialPageRoute(
builder: (_) => OutdatedVersionPage(),
),
);
}
},
child: Center(
child: SplashPage(),
),
);
},
'/sign_in': (context) {
return SignInPage();
},
我的假设是集成发生在SignInPage加载之前。
小部件也是小部件_buildRootLevelWidgets(BuildContext上下文)的子项
如何正确地将SignInPage作为测试目标?
我还有什么地方做错了吗?
请注意:我没有构建这个应用程序;我只是在这里测试它。
提前感谢!
发布于 2021-03-28 21:43:43
我是个哑巴;我忘了导入相应的文件来让它识别SignInPage
https://stackoverflow.com/questions/66839874
复制