XCTAttachment で保存できるコンテンツ
以下の形式をサポートしており、イニシャライザとして指定できるようになっている。
クラス |
---|
String |
UIImage |
XCUIScreenshot |
URL |
Data |
Any |
UIImage や XCUIScreenshot は XCTAttachment.ImageQuality で保存する品質を指定可能。
let attachment = XCTAttachment(image: image, quality: .low)
デフォルトでは .original
が指定される。
種類
- .original
- .low
- .medium
XCTContext.runActivity と組み合わせる
add
メソッドは XCTContext.runActivity
の引数 XCTActivity
に対しても使用でき、階層構造を保ちつつ情報を保存することができる。
import XCTest import UIKit class SampleTestCases: XCTestCase { func testAttachmentWithRunActivity() { XCTContext.runActivity(named: "1st layer") { (activity: XCTActivity) -> Result in let attachment = XCTAttachment(string: "Hello!") attachment.name = "Hello!" activity.add(attachment) // 1st layer に対して保存 XCTContext.runActivity(named: "2nd layer") { (activity: XCTActivity) -> Result in let attachment = XCTAttachment(string: "World") attachment.name = "World" activity.add(attachment) // 2nd layer に対して保存 } } XCTFail() } }