iphone - XCode4 单元测试和 UI 自动化

标签 iphone unit-testing xcode4 ios-ui-automation

我希望在我的公司建立测试,但我对开始的最佳方式有点模糊。

我知道我可以使用单元测试框架,例如 OCUnit、GHUnit 或 SenTestingKit...到目前为止一切顺利。我可以使用模拟对象等创建一个逻辑测试我的项目的目标。

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

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

顺便说一句,如果有人可以提供良好的链接以获取有关在已经成熟且不太模块化的代码库上开始测试的建议,我们将不胜感激。

谢谢!

最佳答案

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

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

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

这个视频可能对您有帮助。花一个小时,之后您应该能够自己做出决定(UIAutomation session )。

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

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

  1. 没有测试自动化
  2. 没有分离测试用例。如果您的编排中的一个案例失败了,那么接下来的所有测试都可能毫无用处。

关于iphone - XCode4 单元测试和 UI 自动化,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5503662/

相关文章:

iPhone:将按钮添加到 ScrollView 会使按钮无法交互

iphone - ASIHTTPRequest/ASIFormDataRequest - 在 ARC 下的 block 中引用请求对象

ios - UISplitViewController 在 iPhone 设备上显示详细 View 而不是主视图

c# - 我可以模拟无法实例化的对象吗?

ios - 在没有 Storyboard的情况下创建和执行 segue

java - 在 Junit 中多次调用单个测试

unit-testing - 以随机顺序运行 TestNG 测试

cocoa - Xcode 4 和 Mac OSX 10.3?

svn - XCode 4(汇编)SVN 存储库 "Unable to load revisions"

syntax-highlighting - 如何在Xcode 4中为文件类型分配语法颜色?