【发布时间】:2017-08-20 19:18:16
【问题描述】:
在 Android 中,我使用干净的架构并将我的代码按层打包。所以我有 4 层 (modules) :
- 应用程序
- 数据
- 设备
- 域
我知道,如果我错了,请纠正我,验收测试(使用 FitNesse) 应该更好地取代 UI,它应该模仿 UI 并从客户的角度测试系统的核心功能看法。
我的问题是:
我应该为 FitNesse 固定装置和其他东西创建另一个模块,并依赖于系统中的每个模块吗?
【问题讨论】:
-
你不(也或什至只是)想要验收测试来测试 GUI 吗?毕竟,这就是您的用户将使用的东西。
-
他做对了。 Fitnesse like Cucumber 是一个旨在通过直接调用被测系统代码来测试业务逻辑的工具,独立于 UI。通过 UI 进行端到端测试是驱动浏览器的不同工具(例如 WebDriver API)的最佳选择。业务逻辑最好远离 UI 进行测试,因为 UI 往往会发生很大变化,并且还需要在某个地方部署应用程序来进行测试,并且由于您是通过网络进行测试,因此响应速度要慢得多。
-
抱歉,迟到了。 @FriedHoeben > 不,我不想通过验收测试来测试 UI。
-
我倾向于使用 FitNesse 在各个级别上进行测试,包括服务和 UI(在夹具代码中使用 WebDriver API),但总是在部署代码之后。对于直接针对代码的测试,无需部署,我倾向于使用单元测试工具(如 jUnit、TestNG 等)。当您直接针对代码工作时,通过 wiki 进行测试的附加值对我来说似乎微不足道。
-
简而言之,你说: 1. 我们应该在部署后使用验收测试框架。 2. 在此之前使用单元测试框架。 ?
标签: android fitnesse acceptance-testing clean-architecture