相关疑难解决方法(0)

坏状态:在`when()`中未调用Mock方法。真正的方法叫做吗?

我正在尝试httpRequest使用Mockito 模拟颤振。

在这里,我定义了一个全局http客户端:

library utgard.globals;

import 'package:http/http.dart' as http;

http.Client httpClient = http.Client();
Run Code Online (Sandbox Code Playgroud)

然后我将其替换为集成测试:

import 'package:flutter_driver/driver_extension.dart';
import 'package:http/http.dart' as http;
import 'package:utgard/globals.dart' as globals;
import 'package:mockito/mockito.dart';

import 'package:utgard/main.dart' as app;

class MockClient extends Mock implements http.Client {}

void main() {
  final MockClient client = MockClient();
  globals.httpClient = client;

  enableFlutterDriverExtension();

  app.main();
}
Run Code Online (Sandbox Code Playgroud)

然后,我尝试使用whenMockito:

test('login with correct password', () async {
      final client = MockClient();

      when(globals.httpClient.post('http://www.google.com'))
          .thenAnswer((_) async => http.Response('{"title": "Test"}', 200));

      await driver.enterText('000000');
      await driver.tap(loginContinuePasswordButton);
    });
Run Code Online (Sandbox Code Playgroud)

但是我收到以下错误: …

mockito dart flutter flutter-test

7
推荐指数
1
解决办法
507
查看次数

标签 统计

dart ×1

flutter ×1

flutter-test ×1

mockito ×1