我需要一些与 Android 应用程序的 TDD 相关的建议和指导
我正在开发一个复杂的 android 应用程序(用于网络游戏的自动机器人播放器)。现在我有一个试点,在开始继续开发之前,我想为它制作完整的 TDD。
此应用程序的主要目的是作为与 http 服务器通信的后台服务运行 - 它将发送带有 json 内容的 http 请求
它有两种运行模式:
- service mode - it will run in background- read some data configuration from database and communicate with the server
- GUI mode - communication with server on demand + configuration for running in service mode.
GUI 层被设计为 MVP,因此在一个模块(MVP 单元)中完成的所有业务都与视图分离,因此,所有应用程序逻辑都是“非 android 依赖”。
我有几个大层需要对其进行单元测试:
- domain data access :
database storage (ormlite)
android specific storage - shared prefs..,
files
- server communication - http client (spring android rest template)
http content conversion (gson)
- background services - android services
- GUI - activities
- app business - android independent - algorithms, computations, ...
总之,将需要 TDD - 对这些层中的每一层单独进行测试,还需要对完整流程进行集成测试。
测试包括:
- database DAO tests
- http client requests
- GSON conversion TDDs
- business logic - simple tests for methods
- unit testsfor running and scheduled background services
- activity unit testing
- test suites (service + DAO + json conversion + http requests)
我的第一个问题是哪种 TDD 框架最适合我的需求?我应该使用模拟还是不使用?
请给我一些方向。谢谢