小编Jar*_*cks的帖子

错误:必须先分配不可为 null 的变量“mockBuildContext”,然后才能使用它

我已经在 setUp() 方法中分配了变量,但仍然抛出错误。如果我将 MockBuildContext 设置为可为空,则测试运行成功,但这不是正确的方法。有什么我错过的或建议更好的方法来解决这个问题。

看我的代码:

void main(){

  MockBuildContext mockBuildContext;
  setUpGetIt(testing: true);

  setUp((){
    mockBuildContext = MockBuildContext();
  });

  group("banks test", (){

    test("Calling fetchAllBanks returns instance of BanksModel list", () async {

      banksBloc.init(mockBuildContext);
      await banksBloc.fetchAllBanks();
      banksBloc.allBanks?.listen((event) {
        expect(event, isInstanceOf<List<BanksModel>>);
      });

    });


  });
}
Run Code Online (Sandbox Code Playgroud)

我的错误日志:

C:\Src\flutter\bin\flutter.bat --no-color test --machine --start-paused test\unit_test\system\bank_configuration\banks_test.dart
Testing started at 18:52 ...
test/unit_test/system/bank_configuration/banks_test.dart:24:22: Error: Non-nullable variable 'mockBuildContext' must be assigned before it can be used.
      banksBloc.init(mockBuildContext);
                     ^^^^^^^^^^^^^^^^
Run Code Online (Sandbox Code Playgroud)

unit-testing mockito dart flutter flutter-test

3
推荐指数
1
解决办法
628
查看次数

标签 统计

dart ×1

flutter ×1

flutter-test ×1

mockito ×1

unit-testing ×1