我试图在我的测试方法上使用@GenerateMocks,这是我的开发依赖:
dev_dependencies:
test: any
flutter_test:
sdk: flutter
flutter_driver:
sdk: flutter
integration_test:
sdk: flutter
flutter_lints: ^1.0.4
build_runner: ^2.1.4
mockito: ^5.0.0
mocktail: ^0.2.0我就是这样用的:
@GenerateMocks([CustomerPOAutocompleteState])
void main() {
TestWidgetsFlutterBinding.ensureInitialized();但是在运行flutter pub run build_runner build之后,什么都不会生成吗?
发布于 2022-05-26 11:17:04
根据文件
如果您需要模拟GetxController/GetxService,则应该扩展GetxController,并以这种方式将其与Mock混合
class NotificationServiceMock extends GetxService
with Mock implements NotificationService {}我直接在dependencies上添加了dependencies。
dependencies:
flutter:
sdk: flutter
cupertino_icons: ^1.0.2
flutter_bloc: ^8.0.1
equatable: ^2.0.3
dartz: ^0.10.1
mockito: ^5.2.0 #here
dev_dependencies:
flutter_test:
sdk: flutter
build_runner: ^2.1.11确保在抽象类上创建一些方法,在我的例子中,它是RestaurantRepository,并且将被注释为@GenerateMocks([RestaurantRepository])。
然后跑
flutter pub run build_runner build测试文件
import 'package:mockito/annotations.dart';
import 'package:mockito/mockito.dart';
@GenerateMocks([RestaurantRepository])
void main() {
late MockRestaurantRepository mockRestaurantRepository;
//...}发布于 2022-09-08 10:00:53
不知道是不是这样,但我只是把import 'my_test_file.mocks.dart';放在了@GenerateMocks注释之后,工作得很好。
在此之前:
@GenerateMocks([MyClass])之后:
@GenerateMocks([MyClass])
import 'my_test_file.mocks.dart';https://stackoverflow.com/questions/72390220
复制相似问题