【发布时间】:2011-08-23 19:16:53
【问题描述】:
PyDev PyUnit 透视图正确地显示了我的单元测试的输出,当我使用这种基本使用模式从它们所在的模块中将它们作为“Python 单元测试”运行时:
import unittest
class MyTest(unittest.TestCase):
def test_something(self):
pass
if __name__ == '__main__':
unittest.main()
但是,当我像这样从另一个模块导入测试时...
import unittest
import mypackage.mytests
if __name__ == '__main__':
unittest.main(module=mypackage.mytests)
...没有运行测试。当我运行与“Python Run”相同的模块或从终端运行时,它的行为正确,因此由于某种原因,PyUnit 透视图没有正确加载测试。我用这种替代方法得到了相同的结果:
import unittest
import mypackage.mytests
tests = unittest.TestLoader().loadTestsFromModule(mypackage.mytests)
unittest.TextTestRunner().run(tests)
还有其他方法可以导入包含 TestCase 派生类的模块并让 PyDev 捕获测试运行器的输出吗?
【问题讨论】: