4

yesod で scaffolded サイトを作成すると、次のようにテストが別のディレクトリに配置されます。

YourProj/
YourProj/SomeModule.hs
YourProj/Handlers/FooHandler.hs
...
YourProj/tests/main.hs
YourProj/tests/FooTests.hs

だから、今私はghciを起動して、いくつかのコードをインポートしYourProj/tests/main.hsたりYourProj/tests/FooTests.hs、遊んだりしたいと思っています。どうすればいいのですか?私は試した:

cabal-dev ghci
> :set -itests
> :load tests/TestImport.hs
tests/TestImport.hs:15:8:
    Could not find module `Control.Monad.IO.Class'
    It is a member of the hidden package `transformers-0.3.0.0'.
    Perhaps you need to add `transformers' to the build-depends in your .cabal file.
    Use -v to see a list of the files searched for.

build-dependsしたがって、サブディレクトリの追加には成功しましたが、テスト スイートの cabal ファイルのパラメーターの cabal 構成が異なるため、まだ問題があります。

cabal-dev ghci を起動し、Yesod のテストからコードをインポートするにはどうすればよいですか?

4

1 に答える 1

4

わかりましたので、答えは次のとおりです。

  1. build-dependsテスト スイートのcabal ファイル内に不足しているすべてのモジュールをbuild-dependsアプリの上に追加します。
  2. cabal-dev ghciアプリのルート内で実行して行う:set -itests

:load tests/EntriesTest.hsその後、罰金のようなことができるはずです。

于 2013-07-23T17:21:12.180 に答える