2012-03-09 19 views
5

मैंने SO पर समान समस्याओं के माध्यम से ब्राउज़ किया है, लेकिन इसका कोई फायदा नहीं हुआ है। मैं PHP 5.3.6 और phpunit संस्करण 3.6.10 चला रहा हूँ।PHPUnit आवश्यक फ़ाइल खोलने में विफल रहा

require_once 'PHPUnit/Framework.php'; 

class UserTest extends PHPUnit_Framework_TestCase { 
} 

मैं निम्न त्रुटि प्राप्त:

PHP Fatal error: require_once(): Failed opening required 'PHPUnit/Framework.php' 
(include_path='.:/Users/username/pear/share/pear:/usr/lib/php/pear/:/Users/username/pear/share/pear/PHPUnit') in ... 

जब PHPUnit फिर से स्थापित करने, मैं अगर स्थापित स्थान दोहराया गया था यकीन नहीं है, लेकिन ऐसा लगता है कि जब चल रहा है जब एक साधारण परीक्षण पर अमल करने का प्रयास which phpunit, पथ है: /usr/bin/phpunit। हालांकि, यह /Users/user/pear/bin/phpunit में भी स्थापित किया प्रतीत होता है। मैंने सभी चैनलों को अद्यतन करने और PEAR और PHPUnit को पुनर्स्थापित करने का प्रयास किया है, लेकिन समस्या अभी भी मौजूद है। मैं ओएसएक्स शेर पर चल रहा हूँ। किसी भी तरह की सहायता का स्वागत किया जाएगा।

+0

आपने एक टाइपो बनाया: 'PHPUit/Framework.php'' - 'n' गुम है। – hakre

+0

पियर पुनः स्थापित करने से पहले मैं पहले * त्रुटि संदेश * पढ़ूंगा। यह आपको बताता है कि क्या गलत हुआ। मैंने आपको ऊपर टिप्पणी में भी बताया था। – hakre

+1

@ hakre - क्षमा करें, यह त्रुटि टाइप करने में एक टाइपो था (प्रतिलिपि बनाने और पेस्ट करने के विपरीत)। त्रुटि यह है कि PHPUnit अब आपको फ्रेमवर्क क्लास की स्पष्ट रूप से आवश्यकता नहीं है। मैं किसी भी तरह पुराने दस्तावेज पढ़ रहा था, और मैं उलझन में था कि यह क्यों काम नहीं कर रहा था। आपकी सहायता के लिए धन्यवाद. – naivedeveloper

उत्तर

15

बस लाइन

require_once 'PHPUnit/Framework.php'; 

को हटा दें और सब कुछ काम करना चाहिए।

आपको include/require से कुछ भी PHPUnit (कम से कम) PHPUnit 3.6 से संबंधित कुछ भी नहीं चाहिए और आप उस फ़ाइल को शामिल नहीं कर सकते क्योंकि यह वितरण में और मौजूद नहीं है।

PHPUnit धावक सब कुछ है कि PHPUnit के लिए आवश्यक है :)

+2

धन्यवाद, यही वह है जो मैं अब देख रहा हूं। किसी भी तरह, जाहिर है, मैं PHPUnit साइट पर कुछ पुराने दस्तावेज या कुछ पर ठोकर खाई, क्योंकि उस फ़ाइल की आवश्यकता थी। आपकी सहायता के लिए धन्यवाद. – naivedeveloper

+0

हाहाहाहा। यह वास्तव में बहुत अच्छा जवाब है। इस समस्या को ठीक करने के लिए मैंने समय बिताया =) +1 =)) –

1

के रूप में अन्य लोगों ने बताया, Framework.php अब और आवश्यकता नहीं है bootstrapping की देखभाल करेंगे।

लेकिन किसी भी मामले में यदि आपके पास पहले से ही बहुत से टेस्ट फाइलें लिखी गई हैं और इसमें शामिल कथन है, तो उन्हें एक बोझिल कार्य होने के लिए तय करना। मुझे किस मामले का सामना करना पड़ा था।

यदि त्वरित कार्यवाही की आवश्यकता है, तो खाली फ्रेमवर्क.एफ़.पी. फ़ाइल बनाएं। इससे समस्या हल हो जाएगी। अपनी PHPUnit निर्देशिका के अंतर्गत Framework.php नाम की एक खाली फ़ाइल बनाएं। (उदाहरण: पर: /usr/share/php/PHPUnit/Framework.php)।

sudo touch /usr/share/php/PHPUnit/Framework.php

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