Python与代码一起定义单元测试类
我正在进行快速原型设计,所以现在我想将单元测试与我正在测试的代码一起编写,而不是将测试放在一个单独的文件中。但是,我只希望在将包含文件中的代码作为main运行时构建测试并调用它们。详情如下:Python与代码一起定义单元测试类,python,python-unittest,Python,Python Unittest,我正在进行快速原型设计,所以现在我想将单元测试与我正在测试的代码一起编写,而不是将测试放在一个单独的文件中。但是,我只希望在将包含文件中的代码作为main运行时构建测试并调用它们。详情如下: class MyClass: def __init(self)__: # do init stuff here def myclassFunction(): # do something if __name__ == '__main__': im
class MyClass:
def __init(self)__:
# do init stuff here
def myclassFunction():
# do something
if __name__ == '__main__':
import unittest
class TestMyClass(unittest.TestCase):
def test_one(self):
# test myclassFunction()
suite = unittest.TestLoader().loadTestsFromTestCase(TestMyClass)
unittest.TextTestRunner(verbosity=2).run(suite)
这当然不会运行,因为unittest无法找到或使用测试类TestMyClass。有没有办法让这种安排发挥作用,或者如果_uname _=='_u main _u'范围中除了对unittest的调用之外,我是否必须将所有内容都提取出来
谢谢 如果将您的
TestMyClass
移动到If\uuuuu name\uuuuu='\uuuuu main\uuuu'
您将得到您想要的:
仅当文件作为主文件执行时,测试才会运行
像这样的
import unittest
class MyClass:
def __init(self)__:
# do init stuff here
def myclassFunction():
# do something
class TestMyClass(unittest.TestCase):
def test_one(self):
if __name__ == '__main__':
unittest.main()
Pyret是一种Python方言,旨在将方法与测试交织在一起……“我是快速原型”。你这样做节省了多少时间?你是对的,但这就是我问题最后一部分的意思。有没有一种方法可以让它在不将测试类从if _; name _;块中拉出的情况下工作?为什么实际上您可能希望在同一个文件中执行此操作,@Colin?单元测试?真正节省调试时间,特别是在类定义不稳定时。此外,我更愿意在同一个文件中保持单元测试类的分离。当然,另一种选择如下面的答案所示,它不是那么糟糕,但也不是那么好。