【发布时间】:2021-04-27 16:31:25
【问题描述】:
我正在使用mockito 4.1.3 ,这里有一些测试类:
import 'package:flutter_test/flutter_test.dart';
import 'package:ghinbli_app/models/film_model.dart';
import 'package:ghinbli_app/network/ghibli_films.dart';
import 'package:mockito/mockito.dart';
class MockClient extends Mock implements GhibliFilms {
@override
Future<List<FilmModel>> getFilms() async{
return null;
}
}
void main() {
final GhibliFilms ghibliMock = MockClient();
test('If API call was unsuccessful and data received is null', () {
expect(ghibliMock.getFilms(), null);
});
}
在 MockClient 类中,我重写了一个名为 getFilms() 的方法并返回 null 以模拟调用某些 API 时返回 null 作为数据的情况。
一个问题
当我尝试检查 getFilms() 是否实际返回 null 值时,我的测试将失败并出现此错误(可能是因为 getFilms() 的返回类型):
Expected: <null>
Actual: <Instance of 'Future<List<FilmModel>>'>
如何检查和测试来自getFilms() 的数据实际上是否为空,我做错了什么?
【问题讨论】:
标签: flutter testing mocking mockito flutter-test