2011-06-02 64 views
1

有誰知道如何成功配置Mink與Behat合作?如果有人不知道,Behat是PHP的BDD(行爲驅動開發)框架,Mink提供了一個瀏覽器模擬器抽象層來測試。Behat與水貂

你可以找到在http://behat.org/和水貂更多貝哈特在https://github.com/Behat/Minkhttp://www.knplabs.com/fr/blog/one-mink-to-rule-them-all

基本上我跟着指示在http://www.knplabs.com/fr/blog/one-mink-to-rule-them-all我水貂配置與我貝哈特工作。我behat.yml,一個位於貝哈特文件夾,而不是水貂文件夾內,如下:

default: 
    paths: 
    features:    %%BEHAT_CONFIG_PATH%%/features 
    formatter: 
    name:     progress 
pretty: 
    formatter: 
    name:     pretty 
    parameters: 
     multiline_arguments: false 
default: 
    environment: 
     parameters: 
      start_url: http://localhost/ 
imports: 
    - mink/behat.yml 

我也有我的功能下面的代碼/支持/ boostrap.php

require_once 'mink/autoload.php'; 

然而,有我在功能/支持/ env.php下面的代碼

$world->client = new \Goutte\Client; 

會給我一個PHP致命錯誤:當我使用behat命令時,終端(OSX)中找不到類'Goutte \ Client'。即使我的goutte.phar在我的behat/Mink/Vendor/Goutte文件夾中,也會發生這種情況。

希望任何人都可以在我出錯的地方給我啓發,如果問題中有任何部分我不清楚,請告訴我。非常感謝。

回答

1

這就是:https://github.com/knplabs/mink-demo ;-)

基本上,水貂,你並不需要創建或需要GOUTTE客戶端它是由水貂自動完成。您$世界也增強,現在你能得到的步驟定義裏面水貂會議:

$downloadsLink = $world->getSession()->getPage()->findLink('downloads'); 

而且,你已經忘了,包括PHPUnit的!

請參閱mink-demo以獲取最佳示例;-)

+0

再一次:對於沒有Mink文檔感到抱歉。他們是在製品;-) – everzet 2011-06-02 16:01:00

+0

非常感謝提供的偉大的信息=)只是另一個問題突然出現了我雖然〜我得到這個錯誤,當我在演示中使用behat命令 - > PHP警告:preg_match():未知修飾符' w'在/usr/local/pear/share/pear/behat/src/Behat/Behat/Definition/DefinitionDispatcher.php在185線'鑑於我在/ wiki/Main_Page'。這可能是由於它的步驟定義是:$ steps-> Given('/ ^我在/ wiki/Main_Page $ /',函數($ world){//拋出new \ Behat \ Behat \ Exception \ Pending (); });或者我認爲這可能是我的一些配置錯誤。非常感謝。 – 2011-06-03 00:30:26

+0

我發現了我得到這個錯誤的原因。這是由於步驟定義中的正則表達式不正確。該行的步驟定義應爲:$ steps-> Given('/ ^我在\/wiki \/Main_Page $ /',函數($ world)...以便將wiki的斜槓視爲錯誤:調用未定義的方法Behat \ Behat \ Environment \ Environment :: getSession在步驟/步驟2中調用。但是,現在錯誤消失了,我收到一條新的錯誤消息, ajax.php 12行,我有$ world-> getSession() - > wait(5000,「$('。suggestions-results')。children()。length> 0」); – 2011-06-03 02:27:50

相關問題