2013-12-22 1 views
2

Я создал сайт с ледяным основанием, используя команду yesod init, и я назвал свой проект yesodtry. Я приступил к установке на scaffolded сайт, используя эту команду, которая была дана yesod init:yesod test - отсутствующая зависимость yesod-test

cd yesodtry && cabal sandbox init && cabal install && yesod devel 

Все прошло гладко, и я получил доступ к демо-сайт 127.0.0.1:3000. Из любопытства я попытался попробовать команду yesod test. Вот результат я получил:

Resolving dependencies... 
Configuring yesodtry-0.0.0... 
cabal: At least the following dependencies are missing: 
hspec -any, yesod-test ==1.2.* 

Видя, как файл yesodtry.cabal имеет test раздел, я попытался выполняющийся cabal build test, и это выход:

cabal: Cannot build the test suite 'test' because test suites are not enabled. 
Run configure with the flag --enable-tests 

Ok ... так что это говорит мне пробег cabal configure --enable-tests. И вот результат:

Resolving dependencies... 
Configuring yesodtry-0.0.0... 
cabal: At least the following dependencies are missing: 
hspec -any, yesod-test ==1.2.* 

Я вижу эту линию в yesodtry.cabal, для build-depends в «разделе» test-suite test:

yesod-test >= 1.2 && < 1.3 

Похоже, заговорщики не устанавливать зависимости здесь. Как мне это сделать?

спасибо.

ответ

2

Хорошо, я думаю, что нашел ответ на этом Haskell-cafe thread.

Мы должны сделать:

cabal configure --enable-tests 
cabal install --only-dependencies --enable-tests 

И будут установлены зависимости для секции test-suite test.

Я побежал yesod test, и вот последние несколько строк вывода:

Linking dist/build/test/test ... 
Building yesodtry-0.0.0... 
Preprocessing library yesodtry-0.0.0... 
In-place registering yesodtry-0.0.0... 
Preprocessing test suite 'test' for yesodtry-0.0.0... 
Linking dist/build/test/test ... 
Running 1 test suites... 
Test suite test: RUNNING... 
Test suite test: PASS 
Test suite logged to: dist/test/yesodtry-0.0.0-test.log 
1 of 1 test suites (1 of 1 test cases) passed. 

Надеюсь, это поможет всем, кто сталкивается с той же проблемой в будущем.