【问题标题】:Flutter unit test failed颤振单元测试失败
【发布时间】:2016-12-05 07:27:22
【问题描述】:

我试图在 Flutter 中进行单元测试。

pubspec.yaml 中包含依赖项:

test: any

运行flutter analyze 不会显示任何警告。

在我的项目中的test 文件夹下创建了一个unit_test.dart

import 'package:test/test.dart';

void main()
{
    test('this is a test', (){
        expect(42, equals(42));
        //expect(42,42);
    });
}

运行flutter test 显示以下错误:

➜  HelloFlutter flutter test test/unit_test.dart
00:00 +0: loading /home/tr/programs/HelloFlutter/test/unit_test.dart            00:00 +0 -1: loading /home/tr/programs/HelloFlutter/test/unit_test.dart         00:00 +0 -1: loading /home/tr/programs/HelloFlutter/test/unit_test.dart                            
  Failed to load "/home/tr/programs/HelloFlutter/test/unit_test.dart": Failed assertion: boolean expression must not be null
  package:test              test
  test/unit_test.dart 6:2   main
  dart:async                _StreamController.add
  websocket_impl.dart 1111  _WebSocketImpl._WebSocketImpl._fromSocket.<fn>
  dart:async                _EventSinkWrapper.add
  websocket_impl.dart 333   _WebSocketProtocolTransformer._messageFrameEnd
  websocket_impl.dart 228   _WebSocketProtocolTransformer.add

00:00 +0 -1: Some tests failed.     

有什么提示吗?

【问题讨论】:

标签: unit-testing dart flutter


【解决方案1】:

您发布的实际测试看起来像常规的“测试”测试,而不是“flutter_test”测试。因此,您可能只想使用常规 dart 而不是通过 Flutter 的测试工具来运行它。

我们在这些情况下给出的诊断是可怕的。跟踪地址为:https://github.com/flutter/flutter/issues/6187

【讨论】:

  • 天哪,这就解释了为什么我一直看到人们这样做expects(42, 42)
【解决方案2】:

您必须使用以下依赖项才能使用flutter test

dev_dependencies:
  flutter_test:
    sdk: flutter

【讨论】:

  • 试过上面的方法,运行flutter packages get的时候报错:Incompatible dependencies on flutter... pub get failed
  • 它适用于我的项目。你能发布你的 pubspec.yaml 吗?
  • 我也在我的颤振项目中尝试过它,这为我修复了它。
  • pubspec.yamlflutter create 创建的默认值。仅根据 Alex 的输入添加上述行。
  • 真的很奇怪,因为我做了flutter create,用您的测试内容创建了一个文件test/my_test.dart,然后运行flutter test 来查看您遇到的相同错误。在我的答案中只提到依赖项后,错误消失了,测试运行了。
猜你喜欢
  • 2020-12-04
  • 1970-01-01
  • 1970-01-01
  • 2023-01-12
  • 2023-03-07
  • 2023-03-27
  • 2018-03-05
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多