Reputation: 283
Being a total beginner I am trying out various flutter feature and I am stuck at running the main.dart due to errors in the widget_test.dart file. Please point out if the error is due to some other reason.
main.dart
import 'package:flutter/material.dart';
void main(){
var app = MaterialApp(
title: 'FlutterApp',
debugShowCheckedModeBanner: true,
theme: ThemeData(
primaryColor: Colors.black12,
accentColor: Colors.orange,
),
home: Scaffold(
appBar: AppBar(
title: Text('Stateless'),
backgroundColor: Colors.black,
),
),
);
runApp(app);
}
widget_test.dart
// This is a basic Flutter widget test.
//
// To perform an interaction with a widget in your test, use the WidgetTester
// utility that Flutter provides. For example, you can send tap and scroll
// gestures. You can also use WidgetTester to find child widgets in the widget
// tree, read text, and verify that the values of widget properties are correct.
import 'package:flutter/material.dart';
import 'package:flutter_test/flutter_test.dart';
import 'package:stateless/main.dart';
void main() {
testWidgets('Counter increments smoke test', (WidgetTester tester) async {
// Build our app and trigger a frame.
await tester.pumpWidget(MyApp()); //error over here
// Verify that our counter starts at 0.
expect(find.text('0'), findsOneWidget);
expect(find.text('1'), findsNothing);
// Tap the '+' icon and trigger a frame.
await tester.tap(find.byIcon(Icons.add));
await tester.pump();
// Verify that our counter has incremented.
expect(find.text('0'), findsNothing);
expect(find.text('1'), findsOneWidget);
});
}
This is my very first question and I a very sorry if I couldn't place the question in a proper way
Upvotes: 12
Views: 41217
Reputation: 1
I was facing the same issue but turns out it was because I was using an older version.
doing flutter upgrade
or fluter upgrade --force
will update your flutter version and it shouldn't show the problem anymore
Upvotes: 0
Reputation: 13181
At top of your pubspec.yaml
make sure to verify the name of your project is a match with the name of the imported package listed in your import statement of the test widget.
After you verify this information run flutter pub get
to sync the dependencies again.
In my case this resolved the improper name resolution.
Upvotes: 1
Reputation: 9
Just remove all lines in widget_test.dart file. Empty it.. It is used for testing widgets (not necessary)......
Upvotes: -2
Reputation: 21
After you create a file named another_file.dart
You must add:
import '../test/another_file.dart';
in widget_test.dart
Upvotes: 2
Reputation: 320
It's simple, you can just replace MyApp name with your class name in widget_test.dart file.
eg. replace MyApp with app (in your case) in widget_test.dart file
Upvotes: 3
Reputation: 11
Your App name is MaterialApp in the main.dart file so as in widget_test.dart file change the MyApp name to MaterialApp as simple as that.
I'am also new to flutter but solving these kind of small problem's gives me a heads up, instead of giving solutions which are a little confusing to follow.
Upvotes: 0
Reputation: 21
I just figured out, the solution is just putting in your actual Stateful Widget name instead of the default 'MyApp' given by the default Tap Counter app!
Upvotes: 2
Reputation: 286
It would be better if you also told us the error message you got. However, from what I see, there is no MyApp defined in widget_test.dart.
You can define a MyApp widget in another file and then import it in your widget_test.dart.
An example would be:
another_file.dart
class MyApp extends StatelessWidget {
const MyApp({Key key}) : super(key: key);
@override
Widget build(BuildContext context) {
return MaterialApp(
title: 'FlutterApp',
debugShowCheckedModeBanner: true,
theme: ThemeData(
primaryColor: Colors.black12,
accentColor: Colors.orange,
),
home: Scaffold(
appBar: AppBar(
title: Text('Stateless'),
backgroundColor: Colors.black,
),
),);
}
}
widget_test.dart
import 'package:flutter/material.dart';
import 'package:flutter_test/flutter_test.dart';
import 'package:stateless/another_file.dart';
void main() {
testWidgets('My test', (WidgetTester tester) async {
// Build our app and trigger a frame.
await tester.pumpWidget(MyApp());
});
}
Upvotes: 14