Я создал очень простой проект со стеком. Он содержит: исполняемый файл, библиотеку и тестовые цели в соответствующем файле cabal. Когда я загружаю код в ghci через стек ghci, я не могу получить доступ к тесту там, даже если они находятся в отдельном модуле. Есть ли способ использовать это таким образом?
Как загрузить тесты в ghci со стеком
Ответы (1)
Попробуйте stack ghci (your project name):(the test suite name)
. Затем вы сможете ввести main
, и ваши тесты будут запущены.
Пример:
Если ваш файл проекта .cabal имеет следующие значения:
name: ExampleProject
...
test-suite Example-test
Тогда команда для запуска будет stack ghci ExampleProject:Example-test
(изменение предложено @Chris Stryczynski)
Чтобы просмотреть каталоги test
и src
, чтобы они обновлялись при перезагрузке с помощью :r
, запустите:
stack ghci --ghci-options -isrc --ghci-options -itest ExampleProduct:Example-test
person
Libby
schedule
08.10.2016
Если вы это сделаете,
:r
не будет перезагружать изменения в вашу библиотеку. Вы знаете, как это сделать, чтобы :r
перекомпилировал библиотеку и тесты?
- person Sean Clark Hess; 11.10.2016
@SeanClarkHess Есть несколько способов настройки тестов. Вы можете настроить его, добавив библиотеку, которую вы тестируете, в набор тестов, зависящий от сборки, или вы можете просто добавить исходную папку библиотеки в набор тестов hs-source-dirs. Я верю
:r
работает со вторым, а не первым, но я не уверен. Извините, что так долго не обращал внимания на ваш вопрос.
- person Libby; 26.10.2016
Я думаю, вам нужно сделать
stack install
тестируемой библиотеки перед выполнением приведенной выше команды, не так ли?
- person Damian Nadales; 24.02.2017