我有一堆模块和每个模块我有一个基于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