使用 Nimble 测试在 Quick 中引发错误的方法时出错
Posted
技术标签:
【中文标题】使用 Nimble 测试在 Quick 中引发错误的方法时出错【英文标题】:Error testing a method that throws an Error in Quick with Nimble 【发布时间】:2016-12-13 15:47:44 【问题描述】:在测试引发异常的方法时,我无法正确获取 Nimble 匹配器。根据文档,它应该很简单。我只需要这样的期望
expect( try somethingThatThrows() ).toNot( throwError() )
但是,使用 Swift 3 和 Xcode 8.2,我得到了一个编译器编辑器。这是上下文。
describe("Using RealmDatasource")
let datastore = RealmDatasource() as Datasource
it("can retrieve an object")
expect( try datastore.getCurrentObject() ).to( throwError() )
我在“it”声明行收到以下错误
Invalid conversion from throwing function of type '() -> () throws to non-throwing function of type '() -> ()'
【问题讨论】:
【参考方案1】:尝试使用带大括号 的 expect
expect try datastore.getCurrentObject() .to( throwError() )
应该可以工作
【讨论】:
以上是关于使用 Nimble 测试在 Quick 中引发错误的方法时出错的主要内容,如果未能解决你的问题,请参考以下文章
xctest 使用 NSPredicate 最终替换 Quick/Nimble