[英]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
環境變量,或在.noserc
或nose.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.