如何测试 Xcode 扩展的 XCSourceEditorCommandInitation?

问题描述 投票:0回答:1

我正在尝试为我的 Xcode 源编辑器扩展添加测试。理想情况下,我想使用

XcodeKit
中的系统类,以便我测试整个系统,但我似乎无法创建
XCSourceEditorCommandInvocation

有没有办法解决这个问题来测试我的扩展?这是我想要的一个例子:

import Testing
import XcodeKit
@testable import TestingToolsExtension

struct TestingToolsTests {
    @Test func example() async throws {
        let invocation = XCSourceEditorCommandInvocation() // How to initialise?
        
        let sut = SourceEditorCommand()
        sut.perform(with: invocation, completionHandler: { _ in })
        
        // Verify different outputs
    }
}
swift xcode unit-testing xcode-extension
1个回答
0
投票

您可以使用

XCSourceEditorCommandInvocation
继承自
NSObject
:

if let instance = (XCSourceEditorCommandInvocation.self as NSObject.Type).init() as? XCSourceEditorCommandInvocation {
    print("Instance created: \(instance)")
} else {
    print("Failed to create instance")
}
© www.soinside.com 2019 - 2024. All rights reserved.