2017-01-27 16 views
5

मेरा ट्रैविससीआई बिल्ड PHPUnit_Util_Configuration::getTestdoxGroupConfiguration() संदर्भित घातक त्रुटि के कारण विफल रहा है, भले ही PHPUnit स्थानीय रूप से बिना किसी समस्या के चलाता है। मैंने सत्यापित किया है कि TravisCI पर संगीतकार PHPUnit का एक ही संस्करण स्थापित कर रहा है जैसा मैंने स्थानीय रूप से स्थापित किया है।ट्रैविससीआई PHPUnit घातक त्रुटि - अपरिभाषित विधि को कॉल करें PHPUnit_Util_Configuration :: getTestdoxGroupConfiguration()

मैंने देखा कि recent patch विशेष रूप से टेस्टडॉक्स समूह कॉन्फ़िगरेशन संदर्भ संदर्भित करता है, लेकिन मुझे पता नहीं लगा सकता कि क्यों परिवर्तन ने TravisCI के भीतर PHPUnit को तोड़ दिया होगा, लेकिन मेरा स्थानीय संस्करण नहीं।

यहाँ TravisCI से संगीतकार है:

- Installing phpunit/phpunit (5.7.6) Downloading: 100% 

और यहाँ गंभीर त्रुटि और TravisCI से स्टैक ट्रेस है:

PHP Fatal error: Call to undefined method PHPUnit_Util_Configuration::getTestdoxGroupConfiguration() in /home/travis/build/twistofreality/dilmun/vendor/phpunit/phpunit/src/TextUI/TestRunner.php on line 1042 
PHP Stack trace: 
PHP 1. {main}() /home/travis/.phpenv/versions/5.6.5/bin/phpunit:0 
PHP 2. PHPUnit_TextUI_Command::main() /home/travis/.phpenv/versions/5.6.5/bin/phpunit:722 
PHP 3. PHPUnit_TextUI_Command->run() phar:///home/travis/.phpenv/versions/5.6.5/bin/phpunit/phpunit/TextUI/Command.php:104 
PHP 4. PHPUnit_TextUI_TestRunner->doRun() phar:///home/travis/.phpenv/versions/5.6.5/bin/phpunit/phpunit/TextUI/Command.php:152 
PHP 5. PHPUnit_TextUI_TestRunner->handleConfiguration() /home/travis/build/twistofreality/dilmun/vendor/phpunit/phpunit/src/TextUI/TestRunner.php:163 

उत्तर

9

समस्या PHPUnit के वैश्विक TravisCI संस्करण और क्या के बीच एक संस्करण बेमेल है संगीतकार स्थापित है। नोट स्टैक ट्रेस की अंतिम दो पंक्तियों:

PHP 4. PHPUnit_TextUI_TestRunner->doRun() phar:///home/travis/.phpenv/versions/5.6.5/bin/phpunit/phpunit/TextUI/Command.php:152 
PHP 5. PHPUnit_TextUI_TestRunner->handleConfiguration() /home/travis/build/twistofreality/dilmun/vendor/phpunit/phpunit/src/TextUI/TestRunner.php:163 

अंतिम पंक्ति का संदर्भ विक्रेता/PHPUnit (इस मामले में, संस्करण 5.7.6, संगीतकार उत्पादन प्रति), अंतिम पंक्ति के बाद दूसरे स्थान का संदर्भ जबकि TravisCI के वैश्विक बिन/phpunit (संस्करण 5.6.5)। ऐसा लगता है कि वैश्विक संस्करण में कुछ कॉल करने का प्रयास करते समय हाल के संस्करण में पैच कुछ तोड़ देता है।

संगीतकार द्वारा स्थापित संस्करण का उपयोग करने के लिए vendor/bin/phpunit (प्लस जो भी झंडे) का उपयोग करने के लिए .travis.yml को अद्यतन करना समस्या को हल करता है। विशेष रूप से, इस लाइन को जोड़ने .travis.yml (या, मेरे मामले में, मौजूदा PHPUnit लाइन को संशोधित), चाल करना होगा:

script: 
    - vendor/bin/phpunit [phpunit flags here] 
1

बस अपने travis.yml फाइल करने के लिए

script: 
    - vendor/bin/phpunit 

जोड़ने

संबंधित मुद्दे

 संबंधित मुद्दे