我想将更多的参数传递给XCTAssertThrowsError errorHandler参数。


public ErrorFoo : Error { 
    case BarCase(args: [String:String])
}

public class Foo() { 
    public init (fooBar: String) throws { 
        throw ErrorFoo.BarCase(args: ['fooBar': fooBar])
    }
}

class TestClassFoo: XCTestCase { 

    private let assertProperValidation : (Error) -> Void = {
        (error) in
        XCTAssertEqual(error as? ErrorFoo, nil)
    }

    func testFoo() { 
        let fooString = ""
        XCTAssertThrowsError(try Foo(fooBar: fooString), 
                             "message",
                             errorHandler: assertProperValidation )
    }
}

我想将assertProperValidation更改为


    private let assertProperValidation : (Error, [String: String]) -> Void = {
        (error, args) in
        XCTAssertEqual(error as? ErrorFoo, ErrorFoo.BarCase(args))
    }


并将XCTAssertThrowsError的errorHandler参数更改为: errorHandler: (Error) -> Void改为errorHandler: (Error, [String: String]) -> Void

看到

XCTAssertThrowsError(expression: T, message: String, errorHandler: (Error) -> Void)

https://developer.apple.com/documentation/xctest/1500795-xctassertthrowserror?changes=latest_minor

我被认为可以重载XCTAssertThrowsError,但是跳转到其定义将导致文件为空。 我可以对XCTAssertThrowsErrorXCTestCaseerrorHandler做些什么,以便我可以传递更多的参数?

  ask by j__gt translate from so

本文未有回复,本站智能推荐:

1回复

如何在 UIWebView/WebKit 中编写单元测试用例 (XCTest) - Swift

我想在 UIWebView/Webkit-Swift 中编写单元测试用例 (XCTest) 请发布任何有用的链接、示例或教程。 谢谢你。 什里拉姆
1回复

XCUITest 将参数传递给测试

我有一个应用程序可以在各种情况下显示许多弹出窗口,我想使用 XCUITest 验证它们的文本。 但希望能够毫不费力地为多个文本配置做到这一点。 例如,对于多种语言。 有没有办法通过 .xctestrun 文件或“xcodebuild test-without-building”命令传递参数? 以某
3回复

如何测试在 Swift 中异步调度工作的方法

我需要为以下方法编写单元测试
1回复

如何遍历测试数据,然后传递给XCTestCase?

我有同一个计算器的多个版本(IOS,JavaScript,Android),它们必须在每个平台上产生相同的结果。 我已经开发了一套测试数据,分布在多个数据集上,例如: ...等等。 我有一个简单的XCTestCase: 所以,问题是,我该如何: 即如何将我的数
1回复

具有通用参数的功能的Swift单元测试

我有一个定义如下的函数: 当我尝试运行以下单元测试时: 如上文所述,我得到了Generic parameter 'T' could not be inferred的错误。 否则,此功能可以编译,构建和正常运行(当未进行单元测试时)。 知道如何测试吗?
1回复

Swift 中 __PRETTY_FUNCTION__ 的替代品是什么? [复制]

这个问题在这里已经有了答案: NSLog(@"%s", __PRETTY_FUNCTION__) 是否有 Swift 替代品(11 个回答)
3回复

Swift:XCTest 类“FirstDemoTests”没有初始值设定项

我有以下代码(试图避免隐式解包): 但我收到以下错误: 我解决了这个问题: 在 XCTest 类中使用init()会有问题吗? 我使用的是 Swift 4,Xcode 9.2。
1回复

我是否需要在 Swift 中为 Struct 创建单元测试用例类?

我想知道是否需要创建一个单元测试用例类甚至一个单独的单元测试方法来测试它的模型是一个结构吗? 我尝试按照 TDD 为我的移动应用创建注册功能。 在一张纸上,我勾勒出我需要创建的内容: 视图控制器类, 主讲课, 一个 Validator 类,用于验证模型字段值,例如电子邮件地址格式和密