2017-02-21 35 views
3

我正在研究一套用於測試硬件的python腳本,並且我的任務是使它們與PyTest兼容。我遇到了一個與我們團隊的命名約定有關的問題,其中測試編號爲「section.subsection」,後面跟着名稱:1.12_example_name_test.py。我得到這個錯誤,每當我運行py.test:PyTest無法收集編號爲小數點的文件

$ py.test 1.12_example_name_test.py 

======== ERRORS ========= 
____ ERROR collecting 1.12_example_name_test.py _______ 
C:\Anaconda3\lib\site-packages\py\_path\local.py:650: in pyimport 
    __import__(modname) 
E ImportError: No module named '1' 
====== 1 error in 0.03 seconds ====== 

有沒有辦法來改變PyTest的測試發現,所以它並不認爲小數點指的是一個模塊?當我更改名稱使用下劃線而不是點時,測試會正常運行,但我想避免更改命名約定,因爲有一個大型的git存儲庫充滿了這些腳本,我不想失去git來自每個人的歷史。

+0

除非你問如何改變這些在Git中,我不認爲Git標籤是合適的。不過,我不會自己編輯它。 – torek

+0

標記已移除。我在想,如果我無法通過配置PyTest來修復它,我可能不得不爲解決影響Git的更改而做出解決,但這是最後的手段,而不是真正的問題。 – Breb

回答

2

不要這樣命名Python模塊。它是actually possible to import them,但是讓pytest跑步者能夠做到的機率幾乎爲零。

正確的行動計劃讓你的團隊相信團隊的命名習慣是瘋狂的。並避免使用前導數字。像這樣的東西是可以接受的:

test_1_12_example_name.py