Reputation: 895
https://flutter.dev/docs/cookbook/testing/unit/introduction I am trying to run the unit test sample on the above page as is, When I run it, I get an error.
flu_basic/
lib/
main.dart
test/
counter_test.dart
//main.dart
class Counter {
int value = 0;
void increment() => value++;
void decrement() => value--;
}
//counter_test.dart
import 'package:test/test.dart';
import 'package:flu_basic/main.dart';
void main() {
group('Counter🐭', () {
test('value should start at 0', () {
expect(Counter().value, 0);
});
test('value should be incremented♉️', () {
final counter = Counter();
counter.increment();
expect(counter.value, 1);
});
test('value should be decremented🐯', () {
final counter = Counter();
counter.decrement();
expect(counter.value, -1);
});
});
}
//part of dev_dependencies of pubspec.yaml file
dev_dependencies:
test: ^1.15.3
When I run the following in terminal
flutter test test/counter_test.dart
Running "flutter pub get" in flu_basic... 0.6s
00:00 +0: loading /Users/userno1/dev2/flu_basic/test/counter_test.dart
Error: cannot run without a dependency on "package:flutter_test". Ensure the following lines are present in your
pubspec.yaml:
dev_dependencies:
flutter_test:
sdk: flutter
00:00 +0 -1: loading /Users/userno1/dev2/flu_basic/test/counter_test.dart [E]
Failed to load "/Users/userno1/dev2/flu_basic/test/counter_test.dart":
Compilation failed
Test: /Users/userno1/dev2/flu_basic/test/counter_test.dart
Shell: /Users/userno1/dev2/flutter/bin/cache/artifacts/engine/darwin-x64/flutter_tester
00:00 +0 -1: Some tests failed.
I get the above error.
part of dev_dependencies of pubspec.yaml file like below↓
dev_dependencies:
#test: ^1.15.3 ←comment out
flutter_test:
sdk: flutter
00:00 +0: loading /Users/userno1/dev2/flu_basic/test/counter_test.dart Error: Could not resolve the package 'test' in 'package:test/test.dart'.
test/counter_test.dart:4:8: Error: Not found: 'package:test/test.dart'
import 'package:test/test.dart';
^
00:02 +0: loading /Users/userno1/dev2/flu_basic/test/counter_test.dart test/counter_test.dart:10:7: Error: Method not found: 'expect'.
expect(Counter().value, 0);
^^^^^^
test/counter_test.dart:9:5: Error: Method not found: 'test'.
test('value should start at 0', () {
^^^^
test/counter_test.dart:18:7: Error: Method not found: 'expect'.
expect(counter.value, 1);
^^^^^^
test/counter_test.dart:13:5: Error: Method not found: 'test'.
test('value should be incremented♉️', () {
^^^^
test/counter_test.dart:26:7: Error: Method not found: 'expect'.
expect(counter.value, -1);
^^^^^^
test/counter_test.dart:21:5: Error: Method not found: 'test'.
test('value should be decremented🐯', () {
^^^^
test/counter_test.dart:8:3: Error: Method not found: 'group'.
group('Counter🐭', () {
^^^^^
00:06 +0 -1: loading /Users/userno1/dev2/flu_basic/test/counter_test.dart [E]
Failed to load "/Users/userno1/dev2/flu_basic/test/counter_test.dart":
Compilation failed
Test: /Users/userno1/dev2/flu_basic/test/counter_test.dart
Shell: /Users/userno1/dev2/flutter/bin/cache/artifacts/engine/darwin-x64/flutter_tester
00:06 +0 -1: Some tests failed.
I get the above error.
Maybe on the page above
1.Add the test dependency
I think it's a problem with the part, but I don't know what to do. What's wrong?
Upvotes: 2
Views: 3278
Reputation: 1670
You should only use the test
package If you’re working on a Dart package that does not depend on Flutter. From the look of it, your project requires flutter so rather than the dev dependencies you're using at the moment, you should use the following
dev_dependencies:
flutter_test:
sdk: flutter
and import the flutter_test
package
import 'package:flutter_test/flutter_test.dart';
Upvotes: 3