8

我希望在我的公司进行测试,但我对最好的开始方式有点模糊。

我知道我可以使用一个框架进行单元测试,例如 OCUnit、GHUnit 或 SenTestingKit……到目前为止一切都很好。我可以使用 Mock 对象等创建一个逻辑测试我的项目的目标。

我也知道使用 UIAutomation 和 javascript 来驱动和测试 GUI。

所以,现在如果我实现一个相当复杂的 GUI 功能,我想对我的代码进行逻辑测试,并使用 UIAutomation 测试 GUI。我如何将这两种方法结合起来,或者将它们分开处理,在这种情况下,我是否假设我需要用两种不同的语言编写两组测试来完全测试一个特性?

附带说明一下,如果有人可以提供关于在已经成熟且不那么模块化的代码库上开始测试的建议的良好链接,那将不胜感激。

谢谢!

4

1 回答 1

4

UIAutomation 是基于 JavaScript 的。测试用例是 JavaScript 文件的集合,稍后由 Instruments 执行。

是的,您必须单独执行此操作:

  1. 它是一种完全不同的语言(JS)
  2. 它不是在 Xcode-Build 上执行的,而是由 Instruments 执行的
  3. GUI 测试与单元或逻辑测试具有不同的测试范围。即使与逻辑测试有一些相似之处。如果 GUI “行为”正确,它也会被测试。

该视频可能对您有所帮助。花一个小时,之后您应该能够自行决定(UIAutomation 会话)。

http://developer.apple.com/videos/wwdc/2010/

顺便说一句:目前还没有令人满意的方式来自动化 UIAutomation 测试(对于逻辑和单元测试,有一些)。例如,将它们与持续代码集成相结合。对此进行了讨论,但到目前为止我还没有看到解决方案。总而言之,你可以玩一点,但对于认真的测试 UIAutomation 仍然不适用:

  1. 没有测试自动化
  2. 没有分离测试用例。如果一个案例在你的编排中失败了,那么接下来的所有测试都可能毫无用处。
于 2011-04-04T09:56:41.817 回答