使用单元测试来测试类中方法的有效性。您使用它们来测试您编写的代码。(有关在 Xcode 中设置简单单元测试的信息,请参阅我的另一个示例。)
使用UI 测试来检查用户界面的有效性。可以把它想象成让您自己的机器人通过并与您的应用程序进行普通用户所做的所有正常交互。这可以节省您自己动手的时间。
在撰写本文时,很难访问 UI 组件的许多属性,但只需通过点击它们并滑动它们进行测试即可确认它们存在。
例子
这是关于我能想到的最简单的设置和 UI 测试:按下时会更改标签文本的按钮。
设置
- 在 Xcode 7+ 中为 iOS 9.0+ 创建一个新项目。
- 确保选中包含 UI 测试
在 中创建 @IBOutlet 和 @IBActionViewController
并在按下label
时更改文本button
。
import UIKit
class ViewController: UIViewController {
@IBOutlet weak var label: UILabel!
@IBAction func button(sender: AnyObject) {
label.text = "Hello"
}
}
做测试
- 打开YourProject UITests 文件。
- 把你的光标放在
testExample()
方法中。(您可以删除评论)
在应用程序中,(1) 点击标签,(2) 点击按钮,然后 (3) 再次点击标签。(4) 再次按下录制按钮停止录制。应该已经为您自动生成了以下代码:
func testExample() {
let app = XCUIApplication()
app.staticTexts["Label"].tap()
app.buttons["Button"].tap()
app.staticTexts["Hello"].tap()
}
使用staticText
线条作为制作XCTAssert
. 现在你应该有:
func testExample() {
let app = XCUIApplication()
XCTAssert(app.staticTexts["Label"].exists)
app.buttons["Button"].tap()
XCTAssert(app.staticTexts["Hello"].exists)
}
按左侧的菱形运行 UI 测试。它通过时应该变成绿色。
- 而已!这表明
UIButton
andUILabel
存在并且标签的文本发生了变化。如果您想看到它失败(一个好主意),您可以将“Hello”更改为其他内容。
进一步研究