2014-04-03 42 views
1

我有一個項目,它有python2和python3代碼(它是一個客戶端/服務器的東西;服務器是python3,但有python2和python3客戶端)。我用鼻子來處理單元測試。目錄佈局(目前)基本上就像使用鼻子來測試混合python2和python3代碼

client2 
    tests 
client3 
    tests 
server 
    tests 

有沒有一種方法來設置或使之與python2正在運行的節點只是取python2測試,同樣python3用鼻子。例如,像這樣的東西:

client2 
    tests2 
client3 
    tests3 
server 
    tests3 

...有一些合適的鼻子論點。我搞砸了-m選項,但無法獲得任何地方。

回答

0

樣子你會需要的--where組合和--py3where

--py3where:下Python的3.x的這個目錄中

查找測試與'where'功能相同,但只適用於在Python 3.x或更高版本下運行。 請注意,如果在3.x下出現該選項,則該選項將完全替換使用'where'指定的任何 目錄,因此'where'選項變爲無效的 。 [NOSE_PY3WHERE]所以你

這將是這樣的:

nosetests --where=. --where=client2 --py3where=. --py3where=client3 --py3where=server -v 

當使用nosetests與python3它只能運行client3server測試。在python2上運行時,它只會運行client2測試。

另外,看看this question and answers替代品。

相關問題