2013-02-25 50 views
24

में कोई परीक्षण नहीं मिला मुझे phpunit के साथ कुछ समस्याएं आ रही हैं। जब मैं एक परीक्षण को अंजाम, PHPUnit मुझे इन चेतावनियों दे:लार्वेल 4 टेस्टकेस

1) चेतावनी नहीं परीक्षण "रोशन \ फाउंडेशन \ परीक्षण \ testcase" वर्ग में पाया।

2) चेतावनी कक्षा "टेस्टकेस" में कोई परीक्षण नहीं मिला।

लेकिन मैं इन फ़ाइलों को अनदेखा करने के लिए, ताकि PHPUnit उन लोगों से परीक्षण चलाने के लिए कोशिश नहीं करेंगे चाहते हैं।

यह कैसे करें?

उत्तर

47

उम्मीद है कि अब तक आप इस सवाल का जवाब मिल गया, लेकिन यदि आप नहीं है यह मदद कर सकता है:

हम्म - सुनिश्चित करें कि फ़ाइल नाम और वर्ग के नाम सभी मैच। उदाहरण के लिए, BarTest.php के फ़ाइल नाम के साथ कोई FooTest क्लास नहीं है।

इसके अलावा, क्या आप सकारात्मक हैं कि आपके पास ऐप/परीक्षण निर्देशिका के भीतर * test.php फ़ाइल है?

[...]

कि यह था, अर्थात मेरे परीक्षणों में से एक फ़ाइल नाम-बनाम-classname लिखने में कोई गलती नहीं थी। विचित्र है कि टाइपो टेस्टकेस कक्षाओं में एक चेतावनी को मारता है और वास्तव में उस वर्ग को ध्वजांकित करने की बजाए जो वास्तव में इसका कारण बनता है।

से: https://laracasts.com/forum/?p=83-warnings-for-testcase-illuminate-foundation-testing-testcase/0

असल में, सुनिश्चित करें कि आपके फ़ाइल नाम और वर्ग के नाम से मेल कर सकते हैं। मैं भी इस पर अपने सिर पर टक्कर लगी थी।

+0

भी अगर testcase (विधि) काम परीक्षण से शुरू नहीं होता हो सकता है। – Braders

+2

लिंक मर चुका है (यही कारण है कि SO उत्तरों में लिंक एक बुरा विचार है)। – Roscius

+10

त्वरित युक्ति: आधार वर्ग बनाएं (इस मामले में इसे टेस्टकेस कहा जाता है) एक अमूर्त वर्ग। – DerLola

41

टेस्टकेस क्लास सार बनाने के लिए एक अतिरिक्त समाधान हो सकता है। ऐसा करके, PHPUnit इसमें कोई भी परीक्षण खोजने की कोशिश नहीं करेगा।

abstract class TestCase {

+0

यह जवाब मेरे दिन को बचाने आज बनाते हैं। बहुत बहुत धन्यवाद @ डेरलोला –

+0

मुझे भी बचाया। PHPUnit आधार वर्ग में परीक्षण, जिसमें पर्यावरण –

+0

धन्यवाद स्थापित किया गया था वास्तव में सवाल का जवाब देने के लिए के बारे में शिकायत की गई थी .. –

4

मेरे लिए, समस्या यह है कि वर्ग के नाम फ़ाइल नाम से मेल नहीं खाती है, तो एक वर्ग ExampleTest.php नहीं बनाया गया

class ExampleTest { 

के रूप में परिभाषित किया गया था।

कुछ परीक्षण फ़ाइलों को आप अनदेखा करना चाहते हैं देखते हैं, तो phpunit.xml फ़ाइल में जाकर

<testsuite name="Application Test Suite"> 
    <directory></directory> 
</testsuite> 

अंदर टैग के साथ निर्देशिका टैग की जगह और विशेष परीक्षा फ़ाइल आप उपयोग करना चाहते निर्दिष्ट करें।

0

मेरे लिए, मेरे पास एक सम्मेलन गलती थी। समाधान TestFoo से FooTest से कक्षा का नाम और फ़ाइल बदल रहा था।

0

मुझे भी एक ही समस्या का सामना करना पड़ रहा था। मैंने जांच की है कि मेरा फ़ाइल नाम और वर्ग का नाम क्रमश: AuthTest.php और AuthTest जैसा ही था।

लेकिन फिर भी मुझे वही चेतावनी मिल रही थी क्योंकि मैंने ExampleTest.php को AuthTest.php का नाम बदल दिया है।

वैसे भी मैंने पिछली फ़ाइल हटा दी है और php artisan make:test AuthTest का उपयोग किया है और यह काम करता है।