Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/css/32.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Haskell 在堆栈中的包之间重用测试_Haskell_Haskell Stack - Fatal编程技术网

Haskell 在堆栈中的包之间重用测试

Haskell 在堆栈中的包之间重用测试,haskell,haskell-stack,Haskell,Haskell Stack,我很好奇是否可以公开一个包的测试文件夹,以便多包堆栈设置中的另一个包可以重用测试函数和实例: second package test->dependsOn->first package test 第一个程序包在package.yaml中有以下行: tests: first-package-test: main: Spec.hs source-dirs: test ghc-options: - -threaded

我很好奇是否可以公开一个包的测试文件夹,以便多包堆栈设置中的另一个包可以重用测试函数和实例:

second package test->dependsOn->first package test

第一个程序包
package.yaml中有以下行:

tests:
  first-package-test:
    main:                Spec.hs
    source-dirs:         test
    ghc-options:
      - -threaded
      - -rtsopts
      - -with-rtsopts=-N
    dependencies:
      - first-package
      - hspec
      - QuickCheck
      - quickcheck-instances
      - quickcheck-classes
而依赖于第一个包的第二个包具有以下设置:

stack.yaml包含:

extra-deps:
  - ../first-package <-- it seems that it imports only library, not the tests
tests:
  second-package-test:
    main:                Spec.hs
    source-dirs:         test
    ghc-options:
    - -threaded
    - -rtsopts
    - -with-rtsopts=-N
    dependencies:
    - second-package
    - hspec
    - QuickCheck
    - quickcheck-instances
    - quickcheck-classes
它们的根聚合看起来很简单。stack.yaml:

packages:
 - first-package
 - second-package
我认为,在理论上,可以创建第三个包,其中只包含作为库公开的测试,但我想知道是否有更优雅的方法来实现同样的事情