テストのためにモジュールをインポートする際に問題があります。私はLoad
をTestLoad
にインポートしてテストします。私はhs-source-dirs
にソースディレクトリとの両方のパッケージnsga
とテストパッケージの徒党ファイルにbuild-depends
にモジュールLoad
を追加しようとしましたが、私はTestLoad.hs
にimport Load
にしようとすると、GHCはまだCould not find module Load
文句を言います。テストのためのモジュールのインポート
また、テストの構造やファイル名の付け方についても興味があります。以下のアプローチは正しいですか?
ディレクトリ構造:
nsga/
src/
Main.hs
Load.hs
test/
TestMain.hs
TestLoad.hs
徒党ファイル:
executable nsga
main-is: Main.hs
build-depends:
QuickCheck -any,
base -any,
doctest -any
default-language: Haskell2010
hs-source-dirs: src
other-modules:
Load
ghc-options: -ferror-spans -Wall -fsimpl-tick-factor=10
test-suite test-nsga
type: exitcode-stdio-1.0
main-is: TestMain.hs
build-depends:
QuickCheck -any,
base -any,
doctest -any,
HUnit -any,
nsga -any,
Load -any
default-language: Haskell2010
hs-source-dirs: test, src
other-modules:
TestLoad
ghc-options: -ferror-spans
私はあなたを考えます'exposed-modules:Load'を追加するだけです(' other-modules'ではなく、b eは 'nsga'に隠されています(通常は* lib *を追加します)。テストスイートの' hs-source-dirs'に 'src 'を追加する必要はありません。 – Carsten
あなたはそれを見たいと思っているなら* 'stack'をつかんでテンプレートの一つを試してみること - 例えば' stack new LetsLook franklinchen'(これは* lib *を含む 'franklinchen'テンプレートを使います。 libとテストスイートを使って*実行可能ファイル* libをテストする) – Carsten
'exposed-modules:Load'を追加できませんでした – tsorn