2013-08-19 8 views
23

Cannot find PHPUnit in include path शामिल नहीं है त्रुटि संदेश है जब मैं phpstorm में अपना कोड चलाने का प्रयास करता हूं।PHPUnit में पथ phpstorm

PHP सेटिंग्स में, मेरी PHP स्तर की भाषा 5.4 (traits, short array syntax, etc.) है और दुभाषिया Name(5.4.7) है जहां Name उपयोगकर्ता परिभाषित है।

त्रुटि दिखाई देती है जब मैं कोड को चलाने के लिए कोशिश करते हैं और सटीक संदेश यह है:

C: \ xampp2 \ php \ php.exe C: \ Users \ DELL \ AppData \ Local \ अस्थायी \ आईडीई-phpunit.php --no-विन्यास

C: \ xampp2 \ htdocs \ फुट-वेबसाइट

परीक्षण पर 14:34 शुरू कर दिया ...

प्रक्रिया से बाहर निकलने कोड के साथ समाप्त 1

PHPUnit नहीं खोजा जा सका में पथ शामिल (; सी:। \ Xampp2 \ php \ अमरूद) `

+0

आपको ठीक उसी तरह करना चाहिए जैसा त्रुटि संदेश कहता है: पथ जोड़ें जहां PHPUnit फ़ाइलें आपके 'php.ini' – LazyOne

+0

में' include_path' कॉन्फ़िगर चर के लिए स्थित हैं, क्या PHPUnit वास्तव में 'C: \ xampp2 \ php \ PEAR' में स्थापित है ? जाने का सबसे अच्छा तरीका या तो पीयर का उपयोग करके इसे स्थापित करना होगा, या अपने PHP को समायोजित करना किसी अन्य स्थान पर PHPUnit स्थापना के पथ को शामिल करना होगा। – helmbert

+0

मेरे पास एक 'php \ pear' फ़ोल्डर है। मैं बस आगे बढ़ने जा रहा हूं और पीयर का उपयोग करके स्थापित कर रहा हूं और देख सकता हूं कि यह ठीक करता है या नहीं। – Newtt

उत्तर

47

बस इस समस्या अपने आप का सामना करना पड़ा।

मुझे यकीन नहीं है कि यह पथ शामिल करने में PHPUnit क्यों नहीं ढूंढ पा रहा है (इस तथ्य के बावजूद कि है, हालांकि सभी लोअरकेस में)।

मैं PHPUnit (PHP --> PHPUnit के तहत) के लिए अपनी IntelliJ प्राथमिकताओं को बदलकर इसके आसपास मिला। मैंने PHPUnit library सेटिंग्स को Use custom loader में बदल दिया और फिर phpunit निष्पादन योग्य पथ को निर्दिष्ट किया। मेरे मैक पर, वह /usr/local/Cellar/php54/5.4.26/bin/phpunit था।

अद्यतन:

मैं सिर्फ पता चला कि pear अब एक pharphpunit नामित के रूप में PHPUnit स्थापित करता है। इससे पहले PHPUnit स्रोत स्थापित किया गया था, जो PHPStorm में संदर्भ और कोड पूर्ण होने के लिए वास्तव में अच्छा था। मुझे लगता है कि यही वजह है कि चीजें अब PHPStorm के साथ काम नहीं कर रही हैं, क्योंकि यह एक php निष्पादन योग्य है और एक php संग्रह नहीं है।

तो, मैं PHPUnit स्थापित करने के लिए pear का उपयोग करने से दूर जा रहा हूं, और मैं इसके बजाय composer का उपयोग कर रहा हूं। यह मेरे प्रोजेक्ट की निर्भरता के रूप में सीधे PHPUnit को बंडल करता है, जो इसे सिस्टम निर्भरता से अधिक पोर्टेबल बनाता है। आपको vendor/phpunit/phpunit जोड़ने की आवश्यकता होगी क्योंकि PHP में आपकी PHPStorm वरीयताओं में पथ शामिल है। यह दो उद्देश्यों में काम करेगा:

  1. PHPStorm phpunit निष्पादन अब
  2. PHPStorm अनुक्रमित करेगा सभी PHPUnit कक्षाएं अब पा सकते हैं, तो आप स्वत: पूर्ण मिलेगा। वाह!

ऐसा करने के लिए, PhpStorm सेटिंग्स में भाषाएं और फ्रेमवर्क पर जाएं। यदि आप PHP पर क्लिक करते हैं, तो दाईं ओर आपके पास पथ शामिल हैं

+5

क्षमा करें, मैं एक विक्रेता के रूप में 'विक्रेता/phpunit/phpunit' कैसे जोड़ूं पथ शामिल हैं? मैं अस्पष्ट हूँ – Erik

+0

ड्रूपल 8 पथ के लिए '/ पथ/TO/DRUPAL/कोर/परीक्षण/bootstrap.php' – milkovsky

+0

होगा इसके लिए धन्यवाद! – taiar

3

बेन के उत्तर के अलावा, phpStorm 7.1.3 में यह "कस्टम लोडर का उपयोग करें" विकल्प के तहत phpunit.phar स्थान निर्दिष्ट करके काम करता है, उदाहरण के लिए :

"स्क्रिप्ट का पथ:/usr/share/php/phpunit।phar "

+0

कृपया अपने उत्तर में अधिक विवरण जोड़ें। यह आपके उत्तर से अधिक समझने में प्रश्नकर्ता की मदद करेगा। –

16

मैं संगीतकार के माध्यम से PHPUnit जोड़ने के बाद इस समस्या थी।

मैं Settings -> Languages and Frameworks -> PHP -> PHPUnit में use custom autoloader चुनकर, फिर कस्टम autoloader के स्थान के रूप /vendor/autoload.php जोड़कर इस तय की।

+0

दुर्भाग्य से एक सापेक्ष पथ प्रतीत नहीं होता है। मुझे पता नहीं है कि जब भी मैं एक परियोजना पर काम करता हूं तो मुझे इसे सही क्यों करना होगा। – MikeMurko

3

यह जिस तरह से संगीतकार का उपयोग कर, और अपने वैश्विक PHPUnit का उपयोग किए बिना यह करने के लिए है।

  1. PHPUnit अब एक phar फ़ाइल के साथ आता है। मेरे पथ था /usr/local/Cellar/phpunit/5.0.0/libexec /phpunit-5.0.0.phar

enter image description here

  1. PhpStorm पसंद - phpunit.phar करने के लिए> पथ -> PHPUnit phar चयन

enter image description here

  1. यह सब ठीक है, अच्छी चीजें।
+0

स्वत: पूर्णता प्राप्त करने के लिए, फ़ार युक्त निर्देशिका को पथ शामिल किया जा सकता है। उपर्युक्त छवि में यह '/ usr/local/cellar/phpunit/5.0.0/libexec /' होगा। –

2

मुझे वग्रेंट का उपयोग करके PHPStorm 2017 के लिए भी यही समस्या थी। सबसे पहले Settings -> Languages and Frameworks -> PHP पर जाएं और एक दूरस्थ दुभाषिया जोड़ें, फिर Settings -> Languages and Frameworks -> PHP -> PHPUnit पर जाएं + शीर्ष पर क्लिक करें और by Remote Interpreter पर क्लिक करें। यदि आप कंपोज़र ऑटोलोडर का उपयोग कर रहे हैं, तो अपने स्वत: लोडर फ़ाइल में अपना पूर्ण Vagrant पथ दर्ज करें।

+0

मुझे बिल्कुल इसकी आवश्यकता है, लेकिन यह काम नहीं कर सकता है। यदि मैं परीक्षण चलाता हूं तो मुझे अभी भी "पथ शामिल करने में PHPUnit नहीं मिल रहा है"। मैंने जो लिखा वह मैंने किया - तो क्या आप उस पर कुछ और विस्तृत जानकारी दे सकते हैं? –

+1

ठीक है मेरा जवाब यहां मिला: https://stackoverflow.com/questions/12814263/phpunit-via-composer-and-phpstorm - मूल रूप से मुझे करना था "कस्टम लोडर का चयन करें और फिर autoload.php दर्ज करें" - तो वास्तव में मुझे बस आपका जवाब पूरी तरह से समझ में नहीं आया ;-) –

+0

मेरी प्रतिक्रिया में खुशी हुई :) – styl3r