更新项目名称及相关引用,包括README、iOS/macOS/Linux配置、文档和代码中的包引用。同时更新版本号至1.3.5并清理无用的HarmonyOS配置文件。 - 修改所有代码中的包引用路径 - 更新各平台配置文件和安装脚本 - 清理HarmonyOS相关无用文件 - 更新应用版本号至1.3.5 - 修正文档中的项目名称引用
90 lines
2.5 KiB
Dart
90 lines
2.5 KiB
Dart
// 创建时间: 2026-04-09
|
||
// 更新时间: 2026-04-09
|
||
// 名称: API集成测试
|
||
// 作用: 测试关键API接口的集成
|
||
// 上次更新内容: 初始创建
|
||
|
||
import 'package:flutter_test/flutter_test.dart';
|
||
import 'package:cute_kitchen/src/repositories/action_repository.dart';
|
||
import 'package:cute_kitchen/src/repositories/preference_repository.dart';
|
||
import 'package:cute_kitchen/src/services/api/api_service.dart';
|
||
import 'package:cute_kitchen/src/services/api/api_exception.dart';
|
||
|
||
void main() {
|
||
group('API 集成测试', () {
|
||
late ApiService apiService;
|
||
late ActionRepository actionRepository;
|
||
late PreferenceRepository preferenceRepository;
|
||
|
||
setUp(() {
|
||
apiService = ApiService();
|
||
actionRepository = ActionRepository();
|
||
preferenceRepository = PreferenceRepository();
|
||
});
|
||
|
||
test('ApiService 初始化测试', () {
|
||
expect(apiService, isNotNull);
|
||
});
|
||
|
||
test('ApiException 类型测试', () {
|
||
final exception = ApiException(
|
||
type: ApiExceptionType.rateLimited,
|
||
message: 'Rate limited',
|
||
statusCode: 429,
|
||
);
|
||
expect(exception.isRateLimited, isTrue);
|
||
expect(exception.statusCode, 429);
|
||
});
|
||
|
||
test('ActionRepository 初始化测试', () {
|
||
expect(actionRepository, isNotNull);
|
||
});
|
||
|
||
test('PreferenceRepository 初始化测试', () {
|
||
expect(preferenceRepository, isNotNull);
|
||
});
|
||
|
||
// 注意:这些测试需要真实的API连接,在CI环境中可能需要mock
|
||
// 这里只测试初始化和基本逻辑,不进行实际网络请求
|
||
});
|
||
|
||
group('响应格式适配器测试', () {
|
||
test('extractList 测试', () {
|
||
final data1 = {
|
||
'list': [1, 2, 3],
|
||
};
|
||
final data2 = {
|
||
'items': [4, 5, 6],
|
||
};
|
||
final data3 = {
|
||
'candidates': [7, 8, 9],
|
||
};
|
||
final data4 = {
|
||
'recipe_view': [10, 11, 12],
|
||
};
|
||
|
||
// 由于ResponseAdapter在另一个文件,这里只测试数据结构
|
||
expect(data1['list'], isNotNull);
|
||
expect(data2['items'], isNotNull);
|
||
expect(data3['candidates'], isNotNull);
|
||
expect(data4['recipe_view'], isNotNull);
|
||
});
|
||
|
||
test('extractItem 测试', () {
|
||
final data1 = {
|
||
'item': {'id': 1},
|
||
};
|
||
final data2 = {
|
||
'recipe': {'id': 2},
|
||
};
|
||
final data3 = {
|
||
'best_match': {'id': 3},
|
||
};
|
||
|
||
expect(data1['item'], isNotNull);
|
||
expect(data2['recipe'], isNotNull);
|
||
expect(data3['best_match'], isNotNull);
|
||
});
|
||
});
|
||
}
|