森口万太郎
森口万太郎

Reputation: 895

Flutter: I get an error when running the official document unit test sample

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

Answers (1)

ByteMe
ByteMe

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

Related Questions