2016-10-23 14 views
5

मुझे कोई समस्या है - मैं अपने एपीआई के लिए लार्वा पासपोर्ट का उपयोग कर रहा हूं। मुझे परीक्षण लिखने की जरूरत है। जब भी मैं अपने परीक्षणों में WithoutMiddleware विशेषता का उपयोग करता हूं, तो यह Implicit route model binding सुविधा अक्षम करता है, जिसका मैं उपयोग करता हूं। जब भी मैं उस विशेषता का उपयोग नहीं करता, मुझे सीधे अपने परीक्षण से प्रमाणित करने की आवश्यकता होती है। ऐसा करने के लिए, मुझे पासपोर्ट के माध्यम से एक एपीआई टोकन बनाना होगा।परीक्षण लैरवेल पासपोर्ट

पासपोर्ट को artisan passport:install के माध्यम से परीक्षण से पहले स्थापित करने की आवश्यकता है, क्योंकि मेरे परीक्षण DatabaseTransactions और DatabaseMigrations लक्षणों का उपयोग कर रहे हैं। जब मैं ऐसा करता हूं, परीक्षणों को चलाने के लिए बहुत अधिक समय लगता है और मुझे लगता है कि यह इसके बारे में जाने का सही तरीका नहीं है। क्या auth मिडलवेयर को अक्षम करने का कोई तरीका नहीं है? या इस बारे में जाने के लिए कोई अन्य विचार?

उत्तर

1

पार्टी के लिए थोड़ा देर हो चुकी है, लेकिन इस issue के अनुसार यह कार्यक्षमता वर्तमान में किसी भी समय इसे बदलने की कोई योजना नहीं है।

हालांकि, सभी लैरवेल परीक्षण वर्ग withoutMiddleware विधि का उत्तराधिकारी हैं, जिसका उपयोग आप disable middleware on specific methods पर कर सकते हैं। सुनिश्चित नहीं हैं कि अगर यह आप के लिए उपयोगी है, लेकिन सिर्फ यह वहाँ बाहर फेंक:

public function testBasicExample() 
{ 
    $this->withoutMiddleware(); 

    $this->visit('/') 
     ->see('Laravel 5'); 
} 

तुम भी अगर परीक्षण आवेदन उदाहरण पर runningUnitTests() विधि को फोन करके मिडलवेयर के भीतर ही चल रहे हैं देखने के लिए जाँच कर सकते हैं।

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