我是否必须在测试配置中重复所有依赖项?
Do I have to repeat all dependencies in the test configuration?
这一次又一次地困扰着我,基本上如果我在 cabal 配置中创建一个 test-suite
我将项目 src
文件夹添加到测试套件 hs-source-dirs
部分并重复所有依赖项在 build-depends
。典型的项目可能如下所示:
-- in file "foo.cabal"
library
build-depends: a, b, c
exposed-modules: Foo, Bar
hs-source-dirs: src
test-suite tests
build-depends: foo, a, b, c
hs-source-dirs: test
另一种选择是将 src
也包含在测试套件 hs-source-dirs
中。
据我所知,它们都要求我在测试用例中指定所有构建依赖项。有解决办法吗?
它应该按原样工作,但是当您将它与 cabal repl
一起使用时会有一个 reported bug
总体而言,它似乎适用于 cabal test
,但如果您尝试将测试文件加载到 cabal repl
,您可能会收到如下错误:
Could not find module ‘XYZ’
It is a member of the hidden package ‘XZY-[ver]’.
Perhaps you need to add ‘XYZ’ to the build-depends in your .cabal file.
Use -v to see a list of the files searched for.
所以现在复制依赖项可能是个好主意,但希望这会很快得到解决
这一次又一次地困扰着我,基本上如果我在 cabal 配置中创建一个 test-suite
我将项目 src
文件夹添加到测试套件 hs-source-dirs
部分并重复所有依赖项在 build-depends
。典型的项目可能如下所示:
-- in file "foo.cabal"
library
build-depends: a, b, c
exposed-modules: Foo, Bar
hs-source-dirs: src
test-suite tests
build-depends: foo, a, b, c
hs-source-dirs: test
另一种选择是将 src
也包含在测试套件 hs-source-dirs
中。
据我所知,它们都要求我在测试用例中指定所有构建依赖项。有解决办法吗?
它应该按原样工作,但是当您将它与 cabal repl
总体而言,它似乎适用于 cabal test
,但如果您尝试将测试文件加载到 cabal repl
,您可能会收到如下错误:
Could not find module ‘XYZ’
It is a member of the hidden package ‘XZY-[ver]’.
Perhaps you need to add ‘XYZ’ to the build-depends in your .cabal file.
Use -v to see a list of the files searched for.
所以现在复制依赖项可能是个好主意,但希望这会很快得到解决