Я создал очень простой проект со стеклом. Он содержит: исполняемый файл, библиотеку и целевые объекты тестирования в связанном файле cabal. Когда я загружаю код в ghci через стек ghci, я не могу получить доступ к тесту там, даже если он находится в отдельном модуле. Есть ли способ использовать его таким образом?Как загрузить тесты в ghci со стеком
7
A
ответ
9
Пробег: stack ghci (your project name):(the test suite name)
. Затем вы сможете ввести main
, и ваши тесты пройдут.
Пример:
Если .cabal файл проекта имел следующие значения:
name: ExampleProject
...
test-suite Example-test
Затем команда для запуска будет stack ghci ExampleProject:Example-test
(изменить предложенный Stryczynski @ Крис)
Чтобы посмотреть каталоги test
и src
, чтобы они обновлялись при перезагрузке с помощью :r
, run:
stack ghci --ghci-options -isrc --ghci-options -itest ExampleProduct:Example-test
Спасибо! Это сработало! –
Если вы это сделаете, ': r' не перезагрузит изменения в вашу библиотеку. Вы знаете, как это сделать, чтобы ': r' перекомпилировал lib и тесты? –
@SeanClarkHess Существует несколько способов настройки тестов. Вы можете настроить его, добавив библиотеку, которую вы тестируете, в зависимости от сборки набора тестов, или просто добавьте исходную папку библиотеки в тестовый набор hs-source-dirs. Я * верю * ': r' работает с последним, а не с первым, но я не уверен. Прошу прощения за то, что вы так долго заметили свой вопрос. – Libby