Я ищу пакет cabal, используя подробный интерфейс Test-Suite, чтобы узнать, как структурировать код.
Cabal Test Suite с подробным примером типа
Ответ 1
Документация cabal содержит примеры для тестовых интерфейсов detailed-1.0
и exitcode-stdio-1.0
. Однако обратите внимание, что подробный интерфейс тестирования еще не поддерживается. В настоящее время поддерживается только более простой интерфейс exitcode-stdio-1.0
.
Из недавнего почтового потока в списке cabal-devel
(от 5 сентября 2011 г.):
А, редкий случай преждевременной документации. То есть документация для функция, которая должна быть, но еще не выпущена. [...] Поддержка выпущенных версий не поддерживается подробный интерфейс. Совсем недавно мы думаем, что мы остановились на финале интерфейс, и мы надеемся, что это будет реализовано в версии darcs в ближайшее время.
Ответ 2
Так как я несколько раз сталкивался с этим вопросом: с Cabal 1.20 (1.18?) поддерживается подробный-0.9, см., например, https://github.com/michaxm/test-detailed-example. Но поскольку времени было довольно много, инфраструктура вокруг exitcode-stdio-1.0 (+ одна из поддерживающих libs, например hspec, hunit,...) все еще может быть выше.
См. Как использовать подробный-0,9 в тестировании кабины.
Пример минимального содержимого .cabal для подробного теста 0.9 (с использованием имен проекта стека по умолчанию):
name: test-detailed-example
version: 0.1.0.0
build-type: Simple
cabal-version: >=1.20
library
hs-source-dirs: src
exposed-modules: Lib
build-depends: base >= 4.7 && < 5
default-language: Haskell2010
test-suite test-detailed-example-test
type: detailed-0.9
hs-source-dirs: test
test-module: Spec
build-depends: base >= 4.7,
Cabal >= 1.20
default-language: Haskell2010
Ответ 3
Файл кэд-аддонов включает в себя тестовую серию; возможно, вы могли бы начать там.