我有一堆模塊和每個模塊我有一個基於unittest
的測試。我想在每個模塊中定義主要的運行測試,但由於導入循環導致輸入錯誤(特別是當我在測試中使用from mymodule import myclass
時 我懷疑這是一個已解決的問題,所以 - 我應該如何放入我的?模塊的主要運行其相應的測試從測試模塊運行單元測試
2
A
回答
4
如果我理解正確的話,你已經有了一個文件(可以稱之爲mymodule.py),看起來像這樣:
import unittest
from mymoduletests import MyModuleTests
class myclass(object):
def somefunction(self, x):
return x*x
if __name__ == '__main__':
unittest.main()
和一個單獨的文件(讓稱之爲mymoduletests.py),看起來像這樣:
import unittest
from mymodule import myclass
class MyModuleTests(unittest.TestCase):
def test_somefunction(self):
m = myclass()
self.assertEqual(4, m.somefunction(2))
如果運行mymodule.py你得到以下結果:
Traceback (most recent call last):
File "mymodule.py", line 2, in <module>
from mymoduletests import MyModuleTests
File "/Users/srgerg/Desktop/p/mymoduletests.py", line 2, in <module>
from mymodule import myclass
File "/Users/srgerg/Desktop/p/mymodule.py", line 2, in <module>
from mymoduletests import MyModuleTests
ImportError: cannot import name MyModuleTests
但是,如果你改變mymodule.py這樣:
class myclass(object):
def somefunction(self, x):
return x*x
if __name__ == '__main__':
import unittest
from mymoduletests import MyModuleTests
unittest.main()
,然後運行它,你就會得到:
.
----------------------------------------------------------------------
Ran 1 test in 0.000s
OK
我的理解正確嗎?
+0
是的,你有。謝謝! – 2012-01-10 10:31:49
相關問題
- 1. Python單元測試:在另一個模塊中運行測試
- 2. 測試模塊與測試::單元
- 3. PrestaShop模塊單元測試
- 4. 單元測試 - 忽略模塊運行模塊
- 5. MSBuild運行單元測試
- 6. Phabricator:運行單元測試
- 7. SuperNotCalledException運行單元測試
- 8. 單元測試DAL - 停止運行單元測試時連接
- 9. 運行從.net單元測試的JavaScript測試
- 10. 使用ReSharper測試運行器來運行MSTest單元測試
- 11. 測試::單元2.x測試運行從耙,但自動測試失敗
- 12. 運行Visual Studio單元測試vs運行ReSharper單元測試,區別?
- 13. 有效運行模塊的單元測試
- 14. 使用磁帶/ ES6單元測試測試AMD模塊?
- 15. 軌單元測試錯誤:「測試是不是一個模塊」
- 16. 執行測試和單元測試
- 17. 單元測試與pa_ounit OCaml模塊
- 18. 茉莉花單元測試鈦模塊
- 19. 單元測試AngularJS模塊控制器
- 20. RoboGuice單元測試注入應用程序模塊而不是測試模塊
- 21. CakePHP測試 - 單元測試
- 22. 單元測試測試
- 23. 從Visual Studio運行測試代理的單元測試:登錄嘗試失敗
- 24. ImportError:沒有模塊命名的應用程序 - 試圖運行單元測試
- 25. Visual Studio 2010單元測試窗口和一般運行測試
- 26. Spring Boot單元測試 - 缺少運行測試的豆
- 27. XNA項目單元測試,生成但運行測試錯誤
- 28. CI +測試:針對數據庫運行單元測試
- 29. Silverlight單元測試。運行測試時出錯
- 30. Silverlight的單元測試框架重新運行測試
顯示您的主對應代碼!我和'unittest.loadTestsFromModule'完全一樣,沒有任何問題。 – 2012-01-10 09:14:17