2012-12-25 13 views
5

PHPUnit अन्य परियोजनाओं के लिए काम करता है greate PHPUnit की स्थापना नहीं कर सकते लेकिन परीक्षण मैं चेतावनी (यहां तक ​​कि खाली परीक्षण के लिए) के बाद हो रही है जब मैं Yii को चलाने के लिए कोशिश कर रहा हूँ:विंडोज पर Yii के साथ काम करने

\ कद्दू \ Documents \ GitHub \ Users \:

1) चेतावनी

चेतावनी:: (PHP_Invoker.php) में शामिल हैं: स्ट्रीम को खोलने में विफल:

1 विफलता हुई ऐसी कोई फ़ाइल या सी में निर्देशिका Arhano \ codebase \ arhanoii \ विक्रेता \ yiisoft \ yii \ framework \ YiiBase.php लाइन पर 423

चेतावनी: शामिल किए जाने (include_path = के लिए '.; सी विफल उद्घाटन' PHP_Invoker.php ':() शामिल हैं \ Users \ कद्दू \ दस्तावेज़ \ GitHub \ arhano \ codebase \ arhanoii \ componen ts ; सी: \ उपयोगकर्ता \ कद्दू \ दस्तावेज़ \ GitHub \ arhano \ codebase \ arhanoii \ मॉडल; सी: \ xampp \ php \ PEAR ') सी में: \ उपयोगकर्ता \ कद्दू \ दस्तावेज़ \ GitHub \ arhano \ codebase \ arhanoii \ जैसे मैं PHPUnit/PHP_Invoker स्थापित किया है विक्रेता \ yiisoft \ Yii \ ढांचे \ YiiBase.php लाइन 423

पर लग रहा है, लेकिन यह, असंभव है क्योंकि यह pcntl PHP एक्सटेंशन की आवश्यकता है, जो जीत पर avilabe नहीं है।

क्या आप जानते हैं कि इस चेतावनी को कैसे म्यूट करें? PHP_Invoker के उपयोग के बिना विंडोज़ पर वाईआई परीक्षण चलाने के लिए संभव है?

उत्तर

7

यहाँ एक समाधान है कि मेरे लिए काम किया है: https://github.com/yiisoft/yii/issues/1907#issuecomment-14519537

उद्धरण:

  • pear.phpunit.de को
  • मैन्युअल रूप से डाउनलोड PHP_Invoker उपयोगिता वर्ग
  • चला गया
  • ने मेरी बेटी के मैक पर फ़ाइल को अनजिप किया (मैं विंडोज चला रहा हूं)
  • "Invoker" निदेशक सी के तहत y: \ XAMPP \ php \ नाशपाती \ पीएचपी

मैं एक विंडोज 7 मशीन पर हूँ: \ XAMPP \ php \ नाशपाती \ पीएचपी

  • सी के तहत "Invoker.php" फ़ाइल डाल , unzipping ठीक काम किया। मैक की जरूरत नहीं थी ...

    परीक्षण किसी भी मामले में ठीक चलाने के लिए, लेकिन अब मैं नहीं मिलता है कष्टप्रद लंबे "में शामिल हैं (PHP_Invoker.php): स्ट्रीम को खोलने में विफल रहा है" संदेश हर एक परीक्षण के दौरान कोई त्रुटि occures।

  • +0

    धन्यवाद, यह विंडोज 7 x32 पर मेरे लिए काम किया है। – phemios

    +0

    धन्यवाद @ सी-सीबीए, जिस टिप्पणी पर आपने टिप्पणी की है, वह भी मेरी समस्या का समाधान करती है। अन्य उपयोगकर्ताओं की मदद करने के लिए उल्लेख करना। – Arfeen

    0

    फ़ाइल (पीएसआर -0 संगत) PHP/Invoker.php है, इसलिए आपको YiiBase.php को बदलने और को / के साथ बदलने की आवश्यकता है।

    0

    @cweiske: वह लाइन वास्तव में PHPUnit के autoload() द्वारा उपयोग की जाती है, और इसलिए बदला नहीं जा सका।

    @Alex: मुझे यहां एक ही समस्या है, कारण यह है कि PHPUnit का PHP_Invoker विंडोज के साथ काम नहीं करता है, क्योंकि यह "pcntl" नामक एक्सटेंशन पर निर्भर करता है जो केवल यूनिक्स सिस्टम पर काम करता है। चूंकि समस्या विंडोज पर चल रहे तीसरे पक्ष के ढांचे से आती है, मेरा मानना ​​है कि सेबेस्टियन बर्गमान इस मुद्दे के बारे में ज्यादा परवाह नहीं करेंगे: https://github.com/sebastianbergmann/php-invoker/issues/6

    वैसे भी, परीक्षण ठीक चलते हैं। तो ...

    0

    एक PHPUnit अधिष्ठापन गाइड है कि मेरे लिए काम किया (विंडोज 7, XAMPP): http://learnyii.blogspot.com/2011/08/how-to-install-phpunit-on-windows.html

    (व्यवस्थापक के रूप में) आदेश promp में

    :

    pear channel-update pear.php.net 
    pear upgrade-all 
    pear channel-discover pear.phpunit.de 
    pear channel-discover components.ez.no 
    pear channel-discover pear.symfony-project.com 
    pear update-channels 
    pear install -a -f phpunit/PHPUnit 
    

    पी.एस. PHPUnit_Extensions_Selenium_TestCase उपयोग के लिए
    त्रुटियों अगर आपको मिलता है: PHPUnit_Extensions_Story_TestCase उपयोग के लिए

    pear install phpunit/PHPUnit_Selenium 
    

    त्रुटियों तो आपको मिलेगा:

    pear install phpunit/PHPUnit_Story 
    
    1

    एक छोटी सी ट्वीक साथ this tutorial के बाद हमारे लिए काम किया।

    यह मूल रूप से इनवॉकर रेपो में क्लोन करता है। मुझे लगता है कि अभी भी Invoker काम नहीं करेगा, लेकिन यह PHPUnit को त्रुटि से रोकता है:

    { 
        "repositories": [ 
         { 
          "type": "composer", 
          "url": "http://packages.phundament.com" 
         }, 
         { 
          "type": "package", 
          "package": { 
           "name": "phpunit/php-invoker", 
           "version": "1.1.3", 
           "source": { 
            "type": "git", 
            "url": "http://github.com/sebastianbergmann/php-invoker", 
            "reference": "master" 
           }, 
           "autoload": { 
            "classmap": [ 
             "src/" 
            ] 
           } 
          } 
         } 
        ], 
        "require-dev": { 
         "phpunit/phpunit": "4.1.*", 
         "phpunit/phpunit-selenium": "*", 
         "phpunit/phpunit-skeleton-generator": "*", 
         "phpunit/dbunit": "*", 
         "phpunit/phpunit-story": "*", 
         "phpunit/php-invoker": "*", 
         "phpunit/phpunit-mock-objects": "*" 
        } 
    } 
    
    संबंधित मुद्दे