2012-03-25 127 views
6

在Python中是否有用於TDD的特定目錄結構?Python TDD目錄結構

教程說說測試的內容,而不是在什麼地方他們

從周圍的Python Koans戳,懷疑其是這樣的:

/project/main_program.py   # This has main method, starts program 
/project/classes/<many classes>.py 
/project/main_test.py   # This simply directs unittest onto tests, can use parameters fed to it to customise tests for environment 
/project/tests/<many tests>.py 

# to run tests, type "python -m unittest main_test.py" (into a terminal) 
# to run program, type "python main_program.py" 

我這樣做的權利?是否有一個很好的指導,教導了TDD的目錄層次結構?我聽說有混合的代碼和測試文件是不好的。

參考文獻:

+0

新手:如果您有結構如上圖所示,然後用/project/tests/testy.py你將不得不「從類進口codeY的」寫在testy.py所以測試/project/classes/codey.py它知道去哪裏看。導入時,python搜索。所以如果你有/cat/sat/on/sometest.py和/cat/trolled/dog/somecode.py,那麼「從cat.trolled.dog導入一些代碼」就會進入測試。 – xxjjnn 2012-03-26 12:03:38

回答

4

根據您的幻燈CT,無論款式讓您從測試代碼

  • 單獨執行代碼
  • 創建新的測試很容易
  • 運行在一個運行所有測試(例如迴歸測試)

python koans/etc只是準則。最後,你想堅持幹你的單元測試,並能夠輕鬆地進行測試,維護和直觀。最後,由您決定您的文件夾結構。

我覺得你太專注於滿足約定而不是滿足你的項目。

+1

這很酷,沒關係=)在外面思考......嘿,你用盒子Python做了什麼? – xxjjnn 2012-03-26 12:04:24

+0

這仍然是一個有效的問題,它最終會在每個編語言論壇上被詢問。參考http://stackoverflow.com/questions/193161/what-is-the-best-project-structure-for-a-python-application獲取更多筆記。 – 2013-11-18 15:24:14

1

有兩個基本選項:在頂級「測試」(或「測試」)目錄中,或在每個級別的軟件包中的「測試」目錄中。前者的優點是可以輕鬆地進行單元測試和其他測試。後者的優點是可以輕鬆地針對已安裝的代碼版本運行測試,並且由this blog post推薦,它描述了適用於Python項目的基本結構。

在一天結束時,重要的是讓他們很容易找到並運行。