2011-06-13 11 views
19

का उपयोग कर निर्देशिका में सभी टेस्ट चलाएं मुझे लिनक्स खोल में एक पंक्ति टाइप करके वर्तमान निर्देशिका में सभी परीक्षण चलाने में सक्षम होना चाहिए। कुछ निर्देशिकाओं में, यह ठीक काम करता है। लेकिन दूसरों में, जब मैं "नोसेटेट्स" टाइप करता हूं तो कोई परीक्षण नहीं चलाया जाता है। यदि मैं व्यक्तिगत रूप से उनके लिए कॉल करता हूं तो परीक्षण चलाए जाएंगे, लेकिन मुझे उन्हें स्वचालित रूप से चलाने की आवश्यकता है।नाक

/extwebserver 
    __init__.py 
    test_Detection.py 
    test_Filesystem.py 
    test_Hardware.py 
    ... 

जब मैं "nosetests" पेरेंट निर्देशिका में चलाने के लिए, एक निश्चित उपनिर्देशिका चलाए जा रहे हैं में सभी परीक्षणों लेकिन/extwebserver या अन्य उपनिर्देशिका या माता-पिता की ओर से कोई परीक्षण: यहाँ निर्देशिका कि काम नहीं करेगा में से एक है निर्देशिका स्वयं चला रहे हैं।

[email protected]:~/Documents/ParkAssist/m3/linux/appfs/master/usr/bin/piopio/testing$ nosetests -vv --collect-only 
nose.selector: INFO: /home/matthew/Documents/ParkAssist/m3/linux/appfs/master/usr/bin/piopio/testing/baseTestCase.py is executable; skipped 
nose.selector: INFO: /home/matthew/Documents/ParkAssist/m3/linux/appfs/master/usr/bin/piopio/testing/extwebserver/run.py is executable; skipped 
nose.selector: INFO: /home/matthew/Documents/ParkAssist/m3/linux/appfs/master/usr/bin/piopio/testing/extwebserver/test_Detection.py is executable; skipped 
nose.selector: INFO: /home/matthew/Documents/ParkAssist/m3/linux/appfs/master/usr/bin/piopio/testing/extwebserver/test_Filesystem.py is executable; skipped 
nose.selector: INFO: /home/matthew/Documents/ParkAssist/m3/linux/appfs/master/usr/bin/piopio/testing/extwebserver/test_Hardware.py is executable; skipped 
nose.selector: INFO: /home/matthew/Documents/ParkAssist/m3/linux/appfs/master/usr/bin/piopio/testing/extwebserver/test_Mode.py is executable; skipped 
nose.selector: INFO: /home/matthew/Documents/ParkAssist/m3/linux/appfs/master/usr/bin/piopio/testing/extwebserver/test_System.py is executable; skipped 
nose.selector: INFO: /home/matthew/Documents/ParkAssist/m3/linux/appfs/master/usr/bin/piopio/testing/extwebserver/test_View.py is executable; skipped 
nose.selector: INFO: /home/matthew/Documents/ParkAssist/m3/linux/appfs/master/usr/bin/piopio/testing/extwebserver/test_Webserver.py is executable; skipped 
nose.selector: INFO: /home/matthew/Documents/ParkAssist/m3/linux/appfs/master/usr/bin/piopio/testing/mocks/bottle.py is executable; skipped 
nose.selector: INFO: /home/matthew/Documents/ParkAssist/m3/linux/appfs/master/usr/bin/piopio/testing/utils/test_timestamps.py is executable; skipped 
nose.selector: INFO: /home/matthew/Documents/ParkAssist/m3/linux/appfs/master/usr/bin/piopio/testing/testCamera.py is executable; skipped 
nose.selector: INFO: /home/matthew/Documents/ParkAssist/m3/linux/appfs/master/usr/bin/piopio/testing/testCameraManager.py is executable; skipped 
nose.selector: INFO: /home/matthew/Documents/ParkAssist/m3/linux/appfs/master/usr/bin/piopio/testing/testMainControllerServer.py is executable; skipped 
nose.selector: INFO: /home/matthew/Documents/ParkAssist/m3/linux/appfs/master/usr/bin/piopio/testing/testMode.py is executable; skipped 
nose.selector: INFO: /home/matthew/Documents/ParkAssist/m3/linux/appfs/master/usr/bin/piopio/testing/testPASEServerClient.py is executable; skipped 
nose.selector: INFO: /home/matthew/Documents/ParkAssist/m3/linux/appfs/master/usr/bin/piopio/testing/testView.py is executable; skipped 
nose.selector: INFO: /home/matthew/Documents/ParkAssist/m3/linux/appfs/master/usr/bin/piopio/testing/testViewsManager.py is executable; skipped 
nose.selector: INFO: /home/matthew/Documents/ParkAssist/m3/linux/appfs/master/usr/bin/piopio/testing/test_commission/test_FSM.py is executable; skipped 
nose.selector: INFO: /home/matthew/Documents/ParkAssist/m3/linux/appfs/master/usr/bin/piopio/testing/test_commission/test_Webserver.py is executable; skipped 
test_add (testing.utils.test_config.test_config) ... ok 
test_add_set (testing.utils.test_config.test_config) ... ok 
test_load (testing.utils.test_config.test_config) ... ok 
test_load_valid (testing.utils.test_config.test_config) ... ok 
test_modify_set (testing.utils.test_config.test_config) ... ok 
test_save (testing.utils.test_config.test_config) ... ok 
test_update (testing.utils.test_config.test_config) ... ok 
test_get_full_version (testing.utils.test_controller.test_controller) ... ok 
test_get_hwaddr (testing.utils.test_controller.test_controller) ... ok 
test_get_ip (testing.utils.test_controller.test_controller) ... ok 
test_get_netmask (testing.utils.test_controller.test_controller) ... ok 
test_get_version (testing.utils.test_controller.test_controller) ... ok 
test_FloatEncoder (testing.utils.test_fileio.test_fileio) ... ok 
test_read_file (testing.utils.test_fileio.test_fileio) ... ok 
test_read_json_string (testing.utils.test_fileio.test_fileio) ... ok 
test_system_to_text (testing.utils.test_fileio.test_fileio) ... ok 
test_write_file (testing.utils.test_fileio.test_fileio) ... ok 
test_get_hwaddr (testing.utils.test_netdev.test_netdev) ... ok 
test_get_ip (testing.utils.test_netdev.test_netdev) ... ok 
test_get_netmask (testing.utils.test_netdev.test_netdev) ... ok 
test_set_datetime (testing.utils.test_syncdatetime.test_syncdatetime) ... ok 
test_cast (testing.utils.test_tools.test_tools) ... ok 
test_get_image (testing.testdetection.test_CameraGuardian.test_CameraGuardian) ... ok 

---------------------------------------------------------------------- 
Ran 23 tests in 0.003s 
+0

@ मैट: क्या आप आउटपुट को 'नोसेटेट्स -vv --collect-only' से प्रदान कर सकते हैं ताकि हम नाक के परीक्षण खोज एल्गोरिदम से वर्बोज आउटपुट देख सकें? –

+0

मेरे पास एक समान समस्या है और मुझे छोड़ दिया गया है, क्योंकि परीक्षण निष्पादन योग्य है ..? – user2921139

उत्तर

45

Python Testing: Beginner's Guide से डैनियल आरबक्कल द्वारा:

नाक निर्देशिका में परीक्षण और मॉड्यूल जिनके नाम test और Test, या एक होते हैं के साथ शुरू करने के लिए लग रहा है

संपादित यहाँ उत्पादन है '_', '.', या '- 'test या Test के बाद। यह डिफ़ॉल्ट है, लेकिन यह वास्तव में पूरी कहानी नहीं है।

An Extended Introduction to the nose Unit Testing Framework आपको दिखाता है कि चलाकर नाक के परीक्षण खोज एल्गोरिथ्म से एक वर्बोज़ उत्पादन देख सकते हैं कि:

nosetests -vv --collect-only 

जब मैं, एक निर्देशिका पर ऊपर प्रदर्शित हुआ मैंने देखा है कि नाक निष्पादन योग्य फ़ाइलों को छोड़ देता है। यदि यह आपकी समस्या है, तो आपको फ़ाइल मोड को गैर-निष्पादन योग्य में बदलना होगा। मैक ओएस एक्स या लिनक्स पर, इसे पूरा किया जा सकता है:

chmod 644 file.py 

या इसी तरह के।

आप जानते हैं कि अपने मॉड्यूल/फ़ाइलें आयात सुरक्षित हैं, तो आप --exe विकल्प के साथ नाक "अजगर मॉड्यूल है कि निष्पादन योग्य हैं में परीक्षण के लिए देखो करने के लिए" (`आदमी nosetests से) चला सकते हैं:

nosetests --exe 
+0

मैंने निर्देशिकाओं का नाम बदलने की कोशिश की लेकिन यह अभी भी उनसे परीक्षण एकत्र नहीं कर रहा है। मैंने फॉर्म टेस्ट * और test_ * की कोशिश की है और न ही काम किया है। मैंने इसे - केवल चयन के साथ भी चलाया और यह उपनिर्देशिका से फ़ाइलों को सूचीबद्ध किया गया जो निष्पादन योग्य थे और, इस प्रकार, छोड़ दिया गया। लेकिन मैंने python.exe के पथ को हटा दिया और फ़ाइलों को अभी भी निष्पादन योग्य के रूप में सूचीबद्ध किया गया है। – Matt

+0

फ़ाइल मोड को नाक छोड़ने वाली फ़ाइलों के लिए गैर-निष्पादन योग्य में बदलने का प्रयास करें। –

+1

chmod चाल काम किया।अब यह सभी परीक्षणों को काम कर रहा है जो कामकाजी निर्देशिका और सभी उप-निर्देशिकाओं का निर्माण करता है। सहायता के लिए धन्यवाद! – Matt

11

आप निष्पादन योग्य फ़ाइलों को वैध परीक्षण के रूप में मानने के लिए नाक को मजबूर करने के लिए कमांड लाइन में --exe का उपयोग कर सकते हैं। आप --exe हर writting से थक हैं, तो आप लाइन डाल कर सकते हैं: एक .noserc में

exe ​​= सच

(के लिए यूनिक्स/लिनक्स) या nose.cfg (Windows के लिए) पर फ़ाइल आप घर निर्देशिका।

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