我有一些有趣的noob問題。在某些python結構中運行單元測試和覆蓋
我嘗試從命令行運行單元測試:
H:\PRO\pyEstimator>python src\test\python\test_power_estimator.py
Traceback (most recent call last):
File "src\test\python\test_power_estimator.py", line 2, in <module>
import src.main.python.power_estimator as power
ImportError: No module named src.main.python.power_estimator
此相同的情況發生時,我嘗試所需的文件夾中運行它:
H:\ PRO \ pyEstimator的\ src \測試\ python> python test_power_estimator.py
我的文件夾結構如下所示。
├───src
│ │ __init__.py
│ │ __init__.pyc
│ │
│ ├───main
│ │ │ __init__.py
│ │ │ __init__.pyc
│ │ │
│ │ └───python
│ │ │ __init__.py
│ │ │ power_estimator.py
│ │ │ __init__.pyc
│ │ │ power_estimator.pyc
│ │ │
│ │ └───GUI
│ │ __init__.py
│ │
│ └───test
│ │ __init__.py
│ │
│ └───python
│ test_power_estimator.py
│ __init__.py
│ covrunner.bat
│ .coverage
│
└───doc
也許我沒有看到明顯的東西。 我也嘗試運行覆蓋。 這種方法好嗎(文件結構)?
您好,感謝的答覆,我做了什麼,推出這個項目是:從src.main.python.power_estimator進口 進口SYS 進口OS sys.path.append(os.getcwd()) * 但我不喜歡那樣。我會嘗試PYTHONPATH。 「SRC」是否真的那麼糟糕,而我的根包目錄名稱爲「estimator」,裏面我有所有項目文件,文檔,構造等。 – bua 2009-11-14 12:20:27
只要在PyEstimator目錄中直接有一個__init__.py文件,那就好了。問題是「src」是一個我不會放在我的模塊命名空間根目錄的名稱。並且「src.main.python.power_estimator」是一個相對導入(脆弱,不好!),或者「src」是軟件包的根名(不衛生)。 – ddaa 2009-11-15 00:37:09
再次感謝。我一定會聽你的言論。你知道這個領域的一些實用方法在網絡中有什麼好的資源嗎?我是基於這個:http://docs.python.org/tutorial/modules.html#packages ,正如我們所看到的,這並不是耗盡了良好的做法。 – bua 2009-11-15 08:25:26