首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >颤振GenerateMocks不是生成模拟类

颤振GenerateMocks不是生成模拟类
EN

Stack Overflow用户
提问于 2022-05-26 10:16:33
回答 2查看 1.1K关注 0票数 1

我试图在我的测试方法上使用@GenerateMocks,这是我的开发依赖:

代码语言:javascript
运行
复制
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

我就是这样用的:

代码语言:javascript
运行
复制
@GenerateMocks([CustomerPOAutocompleteState])
void main() {
  TestWidgetsFlutterBinding.ensureInitialized();

但是在运行flutter pub run build_runner build之后,什么都不会生成吗?

EN

回答 2

Stack Overflow用户

发布于 2022-05-26 11:17:04

根据文件

如果您需要模拟GetxController/GetxService,则应该扩展GetxController,并以这种方式将其与Mock混合

代码语言:javascript
运行
复制
class NotificationServiceMock extends GetxService 
       with Mock implements NotificationService {}

我直接在dependencies上添加了dependencies

代码语言:javascript
运行
复制
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])

然后跑

代码语言:javascript
运行
复制
flutter pub run build_runner build

测试文件

代码语言:javascript
运行
复制
import 'package:mockito/annotations.dart';
import 'package:mockito/mockito.dart';

@GenerateMocks([RestaurantRepository])
void main() {
  late MockRestaurantRepository mockRestaurantRepository;
//...}
票数 0
EN

Stack Overflow用户

发布于 2022-09-08 10:00:53

不知道是不是这样,但我只是把import 'my_test_file.mocks.dart';放在了@GenerateMocks注释之后,工作得很好。

在此之前:

代码语言:javascript
运行
复制
@GenerateMocks([MyClass])

之后:

代码语言:javascript
运行
复制
@GenerateMocks([MyClass])
import 'my_test_file.mocks.dart';
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/72390220

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档