【问题标题】:Flutter unable to get generate mocks with mockito generateMocks and json_serializableFlutter 无法使用 mockito generateMocks 和 json_serializable 生成模拟
【发布时间】:2021-07-25 13:18:55
【问题描述】:

我正在尝试按照此示例 https://flutter.dev/docs/cookbook/testing/unit/mocking 创建 http 单元测试。我使用json_serializer 在 JSON 和模型之间建立桥梁。我确保这个库启用了空安全

我正在运行的命令是 flutter pub run build_runner build 而且堆栈跟踪很长而且不会停止,看起来像一个永远循环

堆栈跟踪没有我的代码中的确切行,所以不确定从这里去哪里。

请注意,我没有使用 http 库,因此我给出了由 json_serializer 生成的模型

完整的输出在这里,我强调了我认为的主要问题

[INFO] Generating build script...
[INFO] Generating build script completed, took 511ms

[INFO] Creating build script snapshot......
[INFO] Creating build script snapshot... completed, took 10.5s

[INFO] There was output on stdout while compiling the build script snapshot, run with `--verbose` to see it (you will need to run a `clean` first to re-snapshot).

[INFO] Initializing inputs
[INFO] Building new asset graph...
[INFO] Building new asset graph completed, took 529ms

[INFO] Checking for unexpected pre-existing outputs....
[INFO] Checking for unexpected pre-existing outputs. completed, took 1ms

[INFO] Running build...
[INFO] Generating SDK summary...
[INFO] 3.3s elapsed, 0/8 actions completed.
[INFO] Generating SDK summary completed, took 3.3s

[INFO] 4.4s elapsed, 4/8 actions completed.
[INFO] 5.4s elapsed, 4/8 actions completed.
[INFO] 13.2s elapsed, 7/8 actions completed.
[SEVERE] json_serializable:json_serializable on test/timeline_vm_test.dart:

***Null check operator used on a null value***
#0      LinkedElementFactory.isLibraryUri (package:analyzer/src/summary2/linked_element_factory.dart:418:48)
#1      LibraryContext.isLibraryUri (package:analyzer/src/dart/analysis/library_context.dart:95:27)
#2      LibraryAnalyzer._isLibrarySource (package:analyzer/src/dart/analysis/library_analyzer.dart:511:25)
#3      LibraryAnalyzer._resolveDirectives (package:analyzer/src/dart/analysis/library_analyzer.dart:552:36)
#4      LibraryAnalyzer.analyzeSync (package:analyzer/src/dart/analysis/library_analyzer.dart:128:5)
#5      LibraryAnalyzer.analyze (package:analyzer/src/dart/analysis/library_analyzer.dart:105:12)
#6      AnalysisDriver._computeAnalysisResult.<anonymous closure> (package:analyzer/src/dart/analysis/driver.dart:1590:63)
#7      PerformanceLog.run (package:analyzer/src/dart/analysis/performance_logger.dart:32:15)
#8      AnalysisDriver._computeAnalysisResult (package:analyzer/src/dart/analysis/driver.dart:1565:20)
#9      AnalysisDriver._computeErrors (package:analyzer/src/dart/analysis/driver.dart:1644:26)
#10     AnalysisDriver.performWork (package:analyzer/src/dart/analysis/driver.dart:1266:20)
#11     AnalysisDriverScheduler._run (package:analyzer/src/dart/analysis/driver.dart:2296:24)
<asynchronous suspension>

[INFO] 14.4s elapsed, 8/16 actions completed.
[INFO] 15.5s elapsed, 8/16 actions completed.
[INFO] 16.6s elapsed, 8/16 actions completed.
[INFO] 17.7s elapsed, 8/16 actions completed.
[INFO] 18.7s elapsed, 8/16 actions completed.
[INFO] 19.8s elapsed, 8/16 actions completed.
[INFO] 20.8s elapsed, 8/16 actions completed.
[INFO] 21.9s elapsed, 8/16 actions completed.
[INFO] 22.9s elapsed, 8/16 actions completed.
[INFO] 24.0s elapsed, 8/16 actions completed.
[INFO] 25.1s elapsed, 8/16 actions completed.
[INFO] 26.1s elapsed, 8/16 actions completed.
[INFO] 27.2s elapsed, 8/16 actions completed.
[INFO] 28.3s elapsed, 8/16 actions completed.
[WARNING] No actions completed for 15.0s, waiting on:
  - mockito:mockBuilder on test/timeline_vm_test.dart
  - mockito:mockBuilder on test/widget_test.dart
  - mockito:mockBuilder on lib/busy_notifier.dart
  - mockito:mockBuilder on lib/main.dart
  - mockito:mockBuilder on lib/data/timeline_vm.dart
  .. and 3 more

【问题讨论】:

    标签: flutter mockito flutter-test dart-null-safety


    【解决方案1】:

    对于我的情况,我所要做的就是删除

    #import '../lib/main.dart'

    我不确定为什么,但它确实有效。如果我找到它们会添加更多详细信息。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2021-08-07
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-09-05
      • 1970-01-01
      • 2020-02-02
      相关资源
      最近更新 更多