我是Yesod的新手,我正试图在withApp
块中添加一个挂起的规范(目前我只是试图修改Yesod scaffholding生成的规范)。
代码看起来像:
appSpec::规范appSpec::withApp$dodescription"getMyHandlerR"$doit"todo"$do待处理
但我收到以下错误消息:
Couldn't match type ‘(App, wai-3.2.0:Network.Wai.Middleware)’
with ‘()’
Expected type: SpecWith (TestApp App)
Actual type: SpecWith (Arg Expectation)
In a stmt of a 'do' block: it "todo" $ do { pending }
In the second argument of ‘($)’, namely
‘do { it "todo" $ do { pending } }’
In a stmt of a 'do' block:
describe "upload a file without error"
$ do { it "todo" $ do { pending } }
如果我移除withApp
,一切正常。我知道withApp
在某种程度上改变了预期的类型,但为什么describe
和it
有正确的类型,而pending
没有?
将我的评论复制到一个答案:
我认为你只需要通过放弃TestApp App
的论点
it "todo" $ _ -> pending
或
it "todo" $ const pending
添加
ypending
或同等产品难道不值得吗?
对我来说,这听起来是个好主意,事实上我从来没有亲自使用过pending
,这就是为什么我从来没有想过它。你能发送一份PR来包含它吗?
这对我来说就像是最新的Yesod:的魅力
it "should x" $ do
liftIO pending