2015-10-06 10 views
6

पर केवल त्रुटि होती है जब मैं स्थानीय रूप से अपना कोड चलाता या परीक्षण करता हूं तो मुझे कोई त्रुटि नहीं दिखाई दे रही है। मेरे phpunit टेस्ट स्वीट गुजरता है:PHP वर्ग नहीं मिला सर्कलसीआई

Time: 11.69 seconds, Memory: 43.50Mb 

OK, but incomplete, skipped, or risky tests! 
Tests: 149, Assertions: 281, Incomplete: 13. 

लेकिन जब मैं ठीक उसी कोड धक्का और CircleCI ठीक उसी परीक्षण आदेश चलता है, यह एक गंभीर त्रुटि के साथ विफल:

.PHP Fatal error: Class 'App\Domain\API\Request\Soap\Json\AbstractJson' not found in /home/ubuntu/TransitScreen/src/Domain/Api/Request/Soap/Json/NJTransit.php on line 10 php ./vendor/bin/phpunit --no-coverage --testsuite=unit returned exit code 255 

यहाँ मेरी circle.yml है:

<?php 

namespace App\Domain\API\Request\Soap\Json; 

use App\Domain\Api\Request\InputApiDataRequest; 
use App\Domain\Api\Request\Soap\AsyncSoapClient; 
use Assert\Assertion; 

class NJTransit extends AbstractJson 
{ 
01:

test: 
    override: 
    - php ./vendor/bin/phpunit --no-coverage --testsuite=unit 

machine: 
    php: 
    version: 5.6.5 
    environment: 
    APP_ENV: circleci 

फ़ाइल यह संदर्भित है साथ शुरू होता है

पहले मैंने सोचा था कि शायद सर्किलसी बिना किसी नाम या PHP के PHP का पुराना संस्करण चला रहा था, लेकिन जब भी मैं इसे PHP v5.6.5 का उपयोग करने के लिए सेट करता हूं, वही त्रुटि होती है। मैंने टेस्ट अनुक्रम में डेटाबेस डंप जोड़ने का भी प्रयास किया।

यह मेरे लिए भी अजनबी है कि यह त्रुटि होने से पहले कई दर्जन परीक्षण चलाने में सक्षम है। तो मुझे पूरा यकीन है कि सर्किलसीआई पर यह कुछ गलत तरीके से गलत कॉन्फ़िगर नहीं किया गया है।

किसी भी सुझाव पर दो वातावरण में एक ही कोड इतना अलग व्यवहार क्यों करेगा?

अद्यतन 1: मुझे यह प्रश्न मिला जो बहुत ही समान लगता है लेकिन अब तक संगीतकार कमांड को ओवरराइड करने से समस्या का समाधान नहीं हुआ है। Laravel - CircleCI - Fails on phpunit

अद्यतन 2: मैं this question जो काम नहीं कर रहा autoloaging बारे में बात करती मिला ... यह एक नया सिद्धांत चलता है ... शायद वहाँ OSX (मेरे स्थानीय पर्यावरण) और Ubuntu (के बीच केस संवेदनशीलता मतभेद से जुड़े एक समस्या है CircleCI)। यहाँ मेरी composer.json फ़ाइल के संबंधित खंड है:

"autoload": { 
    "psr-4": { 
     "App\\": "src" 
    } 
}, 
"autoload-dev": { 
    "psr-4": { 
     "App\\Test\\": "tests", 
     "Cake\\Test\\": "./vendor/cakephp/cakephp/tests", 
     "TestApp\\": "tests/TestApp/src", 
     "TestApp\\Test\\": "tests/TestApp/tests" 
    } 
}, 
+0

यदि आपके द्वारा चलाए जा रहे वास्तविक कोड को दिखाते हैं तो लोगों के पास और विचार हो सकते हैं। – jessica

+0

@ जेसिका I ने फ़ाइल के शीर्षलेख को जोड़ा जहां से त्रुटि उत्पन्न होती है। क्या आप किसी और चीज के बारे में सोच सकते हैं जो उपयोगी होगा? मुझे नहीं लगता कि वास्तविक इकाई परीक्षण प्रासंगिक हैं क्योंकि समस्या एक असफलता विफल नहीं है, बल्कि वास्तविक कोड त्रुटि है। – emersonthis

उत्तर

2

मुझे थोड़ी देर लिया तो यह और भी कोड उदाहरण आपके द्वारा दिए गए के साथ पहचानना, लेकिन ऐसा लगता है नाम स्थान का हिस्सा की तरह गलत मामले (API बनाम Api है)?

लोकप्रिय धारणा के विपरीत, ओएस एक्स मशीन डिफ़ॉल्ट रूप से स्वरूपित केस-असंवेदनशील आती हैं जो दुर्भाग्यवश उन्हें इस संबंध में विंडोज मशीनों की तरह अधिक बनाती है।

+0

अच्छा पकड़ो! कम से कम मैं सही रास्ते पर था ;-) – emersonthis

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