【发布时间】:2021-07-24 15:18:28
【问题描述】:
是否有人在将any Mockito 方法提供给DateTime 模拟方法参数时遇到问题?基本上我在模拟类Future<int> testMethod(DateTime datetime)上实现了这个方法。
因此,当我尝试通过 when(mockClass.testMethod(any)).thenAnswer((_) async => 1) 对测试场景的响应进行存根处理时,它始终显示在 IntelliJ 行编辑器 - error: The argument type 'Null' can't be assigned to the parameter type 'DateTime'. (argument_type_not_assignable)。
import 'package:flutter_test/flutter_test.dart';
import 'package:mockito/annotations.dart';
import 'package:mockito/mockito.dart';
abstract class TestClass {
Future<int> testMethod(DateTime dateTime);
}
class MockTestClass extends Mock implements TestClass {}
class InvokeClass {
final TestClass testClass;
InvokeClass(this.testClass);
}
// @GenerateMocks([InvokeClass, TestClass])
void main() {
TestClass testClass = MockTestClass();
InvokeClass invokeClass;
setUp(() {
testClass = MockTestClass();
invokeClass = InvokeClass(testClass);
});
test('', () async {
when(testClass.testMethod(any)).thenAnswer((_) => 1);
});
}
【问题讨论】:
标签: flutter intellij-idea mockito