2016-10-08 15 views
7

非常に単純なプロジェクトをスタックで作成しました。実行ファイル、ライブラリ、関連するカバールファイル内のテストターゲットが含まれています。スタックghci経由でghciにコードをロードすると、別のモジュールに入っていてもそこにテストにアクセスすることはできません。そのような方法でそれを使用する方法はありますか?ghciでテストをスタックにロードする方法

答えて

9

お試しstack ghci (your project name):(the test suite name)次にmainと入力すると、テストが実行されます。

例:

あなた.cabalプロジェクトファイルは、以下の値を持っていた場合:

name: ExampleProject 
... 
test-suite Example-test 

を次に実行するコマンドがstack ghci ExampleProject:Example-test

(編集@クリスStryczynskiによって提案された)

だろう

testsrcディレクトリを見て、でリロードしたときに更新されるようにする、実行:

stack ghci --ghci-options -isrc --ghci-options -itest ExampleProduct:Example-test 
+1

ありがとう!出来た! –

+0

これを行うと、 ':r'はあなたのlibへの変更をリロードしません。 ':r'がlibとテストを再コンパイルするようにする方法を知っていますか? –

+0

@SeanClarkHessテストを設定するにはいくつかの方法があります。テストするライブラリをビルド依存のテストスイートに追加するか、ライブラリソースフォルダをテストスイートのhs-source-dirsに追加するだけで設定できます。私は信じています* ':r'は前者ではなく後者で働いていますが、私は確信していません。 ご迷惑をおかけしましたことをお詫び申し上げます。 – Libby

関連する問題