簡體   English   中英

在python nosetest中排除目錄,模塊

[英]Excluding directory, module in python nosetest

我們使用nose來發現測試並運行它們。 所有測試都以TestCase兼容的方式編寫,因此任何測試運行器都可以運行。 問題是我們有一些沒有任何測試的目錄。 但是測試運行者繼續從那里發現測試。 如果其中一個目錄中有很多文件被卡住了。 那我怎么能排除那個目錄呢?

目前我正在執行

nosetests --processes=10 --verbosity 2

但是有一個名為scripts的目錄需要很長時間才能從中發現測試。 所以我想排除它。 我試過了

nosetests --processes=10 --verbosity 2 --exclude='^scripts$'

但沒有運氣。

有一個專門針對該任務的nose-exclude插件:

nose-exclude是一個Nose插件,允許您輕松指定要從測試中排除的目錄。

在其他功能中,它引入了一個名為exclude-dir的新命令行參數:

nosetests --processes=10 --verbosity 2 --exclude-dir=/path/to/scripts

您也可以設置NOSE_EXCLUDE_DIRS環境變量,或在.nosercnose.cfg文件中設置exclude-dir配置密鑰,而不是傳遞命令行參數。

您還可以使用--ignore-files參數來排除特定文件。 由於這是使用正則表達式,因此您可以將scripts/文件夾中的文件命名為以特定前綴開頭,然后可以使用該前綴在正則表達式中進行匹配。

# Exclude just one test file
nosetests your_package --ignore-files="tests_to_exclude\.py" -v
# Exclude all python scripts beginning with `testskip_`
nosetests your_package --ignore-files="testskip_.+\.py" -v

請參閱: 鼻子文檔

也許不是OP所要求的,但是我發現這個來自鼻子文檔的小問題對於排除文件是有用的:

如果對象定義了一個不評估為True的__test__屬性,則不會收集該對象,也不會收集它包含的任何對象。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM