我愉快地寫作和對我工作的API測試模塊,並且使用命令:爲什麼單元測試不能找到我的tests.py?
python -m unittest myAPI.tests.APITests.test_mod_to_test
正如預期的那樣我的測試住在tests.py
模塊myAPI
英寸這工作很好,我發現我不得不重構我的api.py
文件中包含我正在測試的函數的一些代碼。我改變了我需要改變的東西,然後返回到我的命令行,並通過在鍵盤上按下來運行完全相同的命令來保存輸入。我得到這個錯誤:
AttributeError: 'module' object has no attribute 'tests'
當我甚至沒有改變目錄或tests.py
中的任何東西。我沒有移動的文件或更改命令,我可以使用導入tests.py
文件在Python外殼:
from myAPI import tests
在此之後我進入:
print tests
和輸出是什麼預計:
<module 'myAPI.tests' from '/path/to/myAPI/tests.pyc'>
我在一個virtualenv中使用python 2.7沒有真正安裝它。該應用程序是爲Django的1.2.1應用程序,但沒有關係,因爲我沒有在我的測試過程中觸摸django(除了它是安裝在我的環境中)。
這是困擾我,我想它是如何從偉大的工作,而不是沒有我改變目錄或tests.py一些。任何幫助是非常感謝。