【发布时间】:2021-07-20 08:34:28
【问题描述】:
我想断言一个值是否是一个特定的枚举大小写。
例如,如果我有以下枚举类和变量let value: MyEnum:
enum MyEnum {
case firstCase(value: Int)
case secondCase
}
我想检查value 是否是firstCase 的实例。
本质上,我希望能够编写以下内容或类似内容:
let value: MyEnum = .firstCase(value: 3)
XCTAssertEnumCase(value, .firstCase)
我怎样才能做到这一点?我正在寻找一个已经存在的XCT 函数,或者寻找如何自己编写XCTAssertEnumCase 的说明。
【问题讨论】:
-
@Larme 断言大小写相等并不一定意味着断言相等。您经常希望您的
Equatable一致性也测试枚举案例的关联值的相等性,但是,同时,您可能需要仅测试您具有相同的枚举案例而不检查关联的测试价值。 -
我是否正确理解您不想执行 XCTAssertEqual(value, .firstCase(value: 3)) 而是仅匹配 .firstCase?
-
@JoakimDanielson 是的,这是正确的。