如何使用Nimble将Swift错误枚举的特定情况与参数匹配

时间:2019-02-11 20:19:17

标签: ios swift quick-nimble

\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00Ball

鉴于上面提到的接口,我如何进行单元测试,使orderPizza()抛出任何PizzaOrderError.unexpectedAnswer而无需检查String?

似乎不存在匹配func orderPizza() throws enum PizzaOrderError: Error { case pizzaServiceNotAnsweringPhone case unexpectedAnswer(String) } // Test that orderPizza throws any PizzaOrderError expect { try orderPizza() }.to(throwError(errorType: PizzaOrderError.self)) // Test that orderPizza throws a .pizzaServiceNotAnsweringPhone error expect { try orderPizza() } .to(throwError(PizzaOrderError.pizzaServiceNotAnsweringPhone)) 之类的事情,因为编译器始终希望为特定的String参数提供引用错误。

Nimble有一种提供闭包以执行“任意自定义匹配”的方法。我还没有找到任何有关此操作方式的示例,对此封闭的返回类型为throwError(PizzaOrderError.unexpectedAnswer)有点困惑。我本来希望像Void这样的东西。

在这种匹配的关闭中,我如何指示成功或失败?还有没有比这更短或更干净的方法来提取有关枚举大小写匹配的布尔信息?

Bool

0 个答案:

没有答案