如何在 Yesod 规范中执行待定规范

How to do pending spec inside Yesod specs

我是 Yesod 的新手,我正在尝试在 withApp 块中添加待定规范(目前我只是想修改由 Yesod 脚手架生成的规范)。

代码如下:

appSpec :: 规格 appSpec :: withApp $做 描述 "getMyHandlerR" $ 做 它 "todo" $ 做 待定

但我收到以下错误消息:

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 正在以某种方式改变预期的类型,但为什么 describeit 有正确的类型而 pending 没有?

正在将我的评论复制到答案中:

我认为您只需通过以下方式丢弃 TestApp App 参数:

it "todo" $ \_ -> pending

it "todo" $ const pending

Wouldn't it be worth doing adding a ypending or equivalent?

对我来说听起来是个好主意,实际上我从来没有亲自使用过 pending 这就是为什么我从来没有想过它。您可以发送 PR 以将其包含在内吗?

最新的 Yesod 对我来说很有魅力:

it "should x" $ do
  liftIO pending