2013-01-13 19 views
17

में फ़ाइल सहेजते समय यूनिट परीक्षण चलाएं मैंने PHPUnit के साथ PhpStorm 5 स्थापित किया है, और मुझे उत्सुकता है कि PhpStorm में कुछ कार्यक्षमता हो सकती है जो फ़ाइल को सहेजते समय स्वचालित रूप से यूनिट परीक्षण चलाएगी। घड़ी और गार्ड की तरह। मैंने अपने प्रिय www और PhpStorm दस्तावेज़ों को खोजने का प्रयास किया है, लेकिन इसके लिए कोई समाधान नहीं मिला है।PhpStorm

+0

PhpStorm (जब फ़ाइल सहेजा जाता है कुछ निष्पादित करने के लिए) ऐसी कोई क्षमता है।आप ** ** ** मैक्रो ** को रिकॉर्ड करने की कोशिश कर सकते हैं 1) फ़ाइल को सहेजें और 2) यूनिट परीक्षण चलाएं .. और उसके बाद इसे कुछ शॉर्टकट असाइन करें और इसे सहेजने के बजाय इसका उपयोग करें (जाहिर है, अगर फ़ाइल स्वचालित रूप से सहेजी जाती है, तो यह मैक्रो शामिल नहीं हो रहा है)। इसके अलावा - कुछ बाहरी फ़ाइल वॉचर की तलाश करें जो फ़ाइल संशोधन पर विशिष्ट क्रियाएं निष्पादित कर सकती हैं। ** पीएस ** यह टिकट है जो समान प्रकार की कार्यक्षमता के लिए पूछता है: http://youtrack.jetbrains.com/issue/IDEA-85791 – LazyOne

+0

बहुत स्पष्ट उत्तर @LazyOne के लिए धन्यवाद। बहुत ज्यादा अधिमूल्यित! –

उत्तर

24

संस्करण 6 के रूप में, PHPStorm "फाइल पहरेदार"

  • अपनी परियोजना वरीयताओं खोलें है।
  • विकल्पों की बाईं ओर से फ़ाइल वॉचर्स का चयन करें।
  • खाली दाहिने हाथ पैनल के नीचे + प्रतीक पर क्लिक करें।
  • करें <custom>

आप PHPUnit लिए एक कमांड लाइन स्थापित करने के लिए होगा, यह अभ्यस्त एकीकृत परीक्षण किया है, लेकिन आप कंसोल के लिए त्रुटियों उत्पादन हो सकता है (जो अच्छा एक अच्छी शुरुआत है!)

विभिन्न मैक्रो विकल्प आपके लिए उपलब्ध हैं, इसलिए आप अपनी कमांड लाइन में दिए गए तर्कों में (उदाहरण के लिए) $FileNameWithoutExtension$Test.php शामिल कर सकते हैं।

मुझे व्यक्तिगत रूप से दो दर्शक स्थापित करना पड़ा। प्रोजेक्ट फ़ाइलों में पहली बार संशोधित संशोधन, और फ़ाइलों का परीक्षण करने के लिए दूसरे पता चला परिवर्तन (दूसरे ने फ़ाइल नाम पर Test.php संलग्न नहीं किया था) मैंने पहले वॉचर से परीक्षण निर्देशिकाओं को बाहर करने के लिए एक नया प्रोजेक्ट स्कोप भी बनाया था।

आप तत्काल सिंक्रनाइज़ेशन को भी बंद करना चाहते हैं, क्योंकि PHPSnit को तब चलने का कारण बनता है जब PHPStorm फ़ाइलों को स्वतः सहेजता है।

मेरे अन्य सेटिंग्स हैं जैसे:

  • फ़ाइल प्रकार: PHP files (PHP)
  • स्कोप: Project excluding tests
  • कार्यक्रम: /path/to/php
  • तर्क: /path/to/phpunit --configuration /path/to/phpunit.xml.dist /path/to/tests/$FileNameWithoutExtension$Test.php
  • कार्य निर्देशिका: $FileDir$
  • आउटपुट पथ : $FileDir$

कोई आउटपुट फ़िल्टर सेट नहीं, सिंटैक्स त्रुटि जांच सक्षम है, और कंसोल त्रुटियों को दिखा रहा है।

+0

देर से प्रतिक्रिया के लिए खेद है, लेकिन यह बहुत अच्छी जानकारी है! मैं पहले ही अपग्रेड कर चुका हूं :) इस सवाल पर वापस आने के लिए बहुत बहुत धन्यवाद Leigh –

+0

ग्रेट उत्तर! बस ऊपर दिए गए चरणों का पालन किया और मैंने इसे काम किया। हालांकि सेटिंग ने PHPStorm 7 के लिए थोड़ा सा बदल दिया है, इसलिए यहां एक विवरण है जिसका उपयोग मैंने इसे काम करने के लिए किया है: ** [GDocs से लिंक] (https://docs.google.com/drawings/d/1mk2abn6k4cxa3HhqviVcshiwww3EvFkX_VhBtjXN3FE/संपादित करें) ** । मैंने PHPStorm सेटिंग्स में अपना स्वयं का दायरा भी बनाया है, जहां मैंने उन फ़ाइलों को शामिल किया है जिन्हें मैं देखना चाहता हूं "देखे गए" –

+1

आप अपनी कॉन्फ़िगरेशन को सरल बनाने के लिए phpunit के '--filter' विकल्प का उपयोग कर सकते हैं और केवल 1 वॉचर है। बस तर्क सेटिंग को '- $ Filter $ FileNameWithoutExtension $' होने के लिए बदलें और फ़ाइल या यूनिट परीक्षणों को संपादित करने वाले गीलेर के बावजूद परीक्षण निष्पादित करेगा। –

1

तुम भी TDDRunner

पर एक नज़र यह सांत्वना उपकरण है जो फ़ाइल परिवर्तन पर autmaticly PHPUnit निष्पादित है हो सकता है। आप PHPUnit को केवल एक फ़ाइल को उत्तेजित करके कॉन्फ़िगर कर सकते हैं जो कुछ भी हो।

/usr/bin/tddrunner --group=test 

German article एक और विवरण प्रदान करता है।