Подтвердить что ты не робот

Cabal Test Suite с подробным примером типа

Я ищу пакет cabal, используя подробный интерфейс Test-Suite, чтобы узнать, как структурировать код.

4b9b3361

Ответ 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

Файл кэд-аддонов включает в себя тестовую серию; возможно, вы могли бы начать там.