2016-07-09 8 views
12

मैं फ्रेमवर्क लार्वेल 5.2लार्वेल - समझें कि परीक्षण कैसे काम करता है

के साथ एक शुरुआतकर्ता हूं, मैं समझना चाहता हूं कि इकाई परीक्षण कैसे काम करता है। मैंने यह परीक्षण किया:

public function testPageLogin() 
{ 
    $this->visit('/login') 
    ->see('Connexion'); 
} 

जब मैं स्क्रिप्ट चलाता हूं: सब ठीक है।

$this->visit('/login') 
    ->type('[email protected]', 'email') 
    ->type('toto', 'password') 
    ->check('souvenir') 
    ->press('Connexion') 
    ->seePageIs('/login'); 

बेशक क्षेत्रों के ईमेल ',' पासवर्ड ',' स्मारिका 'html पृष्ठ में मौजूद है:

तब मैं इस परीक्षण किए गए। और इन मानों के साथ, पृष्ठ "लॉगिन" प्रदर्शित होना चाहिए क्योंकि ये मान डीबी में ज्ञात नहीं हैं।

जब मैं स्क्रिप्ट चलाने, मैं एक विफलता

रोशन \ संविदा \ कंटेनर \ BindingResolutionException है: लक्ष्य [रोशन \ सह ntracts \ डीबग \ ExceptionHandler] instantiable नहीं है। C: \ WAMP \ www \ इकोले \ विक्रेता \ laravel \ ढांचे \ src \ रोशन \ कंटेनर \ Container.php लाइन पर 748

निश्चित रूप से मैं कहीं कुछ गलत करते हैं चाहिए, लेकिन मैं कहाँ नहीं दिख रहा। किसी भी तरह की सहायता को आभार समझेंगे। धन्यवाद।

डोमिनिक

+0

मुझे अभी भी समस्या है। क्या मेरा सवाल पर्याप्त स्पष्ट नहीं था? मुझे चेतावनी देने में संकोच न करें यह मामला था। धन्यवाद। – Dom

+0

'विक्रेता/बिन/phpunit --version' प्रिंट क्या करता है? – mpen

उत्तर

3

यह Laravel के भीतर एक ज्ञात बग जब PHPUnit के बाद के संस्करण का उपयोग कर रहा है। मुझे विश्वास है कि यह बग अभी भी तय नहीं किया गया है;

https://github.com/laravel/framework/issues/10808

इस बीच में, वहाँ नीचे कुछ समाधान है,

1) वैश्विक PHPUnit का उपयोग करने के बजाय, *project*/vendor/bin/phpunit का उपयोग करें।

2) PHPUnit के अपने संस्करण को डाउनग्रेड करें ताकि लारवेल इसके साथ संगत हो, ऐसा करने के लिए, नीचे दिए गए आदेश चलाएं;

composer global remove phpunit/phpunit 
composer global require 'phpunit/phpunit=~4.0' 

उम्मीद है कि इससे मदद मिलती है।

+0

जानकारी के लिए धन्यवाद। मैंने phpunit 4.0 को हटाने और स्थापित करने का प्रयास किया, लेकिन मुझे ऐसा करने में कोई समस्या है। यह हमेशा 4.8 है जो लॉन्च किया जाता है। मैं विंडोज़ पर काम करता हूं और ऐसा करता हूं कि मेरा टेस्ट लॉन्च करने के लिए: php विक्रेता/phpunit/phpunit/phpunit test/testAuthentification.php – Dom

+0

@ user2672338 क्षमा करें, मुझे विंडोज़ की बात आने पर कोई जानकारी नहीं है। यह सुनिश्चित नहीं है कि यह मदद करता है http://dustyreagan.com/downgrade-phpunit-3-6-to-3-5-15/#comment-2817 – JayIsTooCommon

+0

संगीतकार को कम पैकेज संस्करणों में डाउनग्रेड करने में समस्याएं हैं। आपको 'composer.json' में मैन्युअल रूप से' phpunit' संस्करण 'को बदलने का प्रयास करना चाहिए,' विक्रेता/'निर्देशिका और' composer.lock' को हटाकर, और फिर 'संगीतकार इंस्टॉल' चला रहा है। – Skysplit

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