【发布时间】:2016-05-06 20:07:38
【问题描述】:
任何类型的集成测试的一个非常常见的问题是让被测单元进入一个已知状态 - 为您想要执行的测试设置好的状态。对于单元测试,通常没有太多的状态,唯一的问题是可能会模拟与其他类的交互。
另一方面,在测试整个应用程序时,存在各种潜在的持久状态,并且使应用程序进入干净状态,或者更棘手的是,进入一个已知状态,在没有任何访问权限的情况下不“干净”应用程序本身有点棘手。
我发现的唯一建议是在应用程序中嵌入任何必要的设置,并使用环境变量之类的东西来触发设置。这当然是可行的,但并不理想。如果可以避免的话,我真的不想在我的最终应用程序中嵌入测试代码和测试数据。
然后是模拟与远程服务的交互。同样,您可以嵌入代码(甚至是框架)来执行此操作,并使用环境变量触发它,但我也不喜欢将存根代码嵌入最终应用程序的想法。
建议?我找不到太多东西,这让我想知道是否没有人在使用 Xcode UI 测试,或者只是将它用于不存在此类问题的极其简单的应用程序。
【问题讨论】:
标签: fixtures xcode-ui-testing ui-testing