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



我是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在某种程度上改变了预期的类型,但为什么describeit有正确的类型,而pending没有?

将我的评论复制到一个答案:

我认为你只需要通过放弃TestApp App的论点

it "todo" $ _ -> pending

it "todo" $ const pending

添加ypending或同等产品难道不值得吗?

对我来说,这听起来是个好主意,事实上我从来没有亲自使用过pending,这就是为什么我从来没有想过它。你能发送一份PR来包含它吗?

这对我来说就像是最新的Yesod:的魅力

it "should x" $ do
  liftIO pending

相关内容

  • 没有找到相关文章

最新更新