我写了一个叫做消费者.py,包含一个类(消费者)。这个类是使用一个配置文件初始化的,它包含用于计算的不同参数和用于日志记录的loqque的名称。在
我想为这个类编写单元测试,所以我制作了一个名为test的脚本_消费者.py使用一个名为TestConsumerMethods的类(unittest.TestCase). 在
现在,我所做的是创建一个名为cons的Consumer类的新对象,然后使用它调用类方法进行测试。例如,Consumer有一个简单的方法来检查给定目录中是否存在文件。我做的测试看起来像这样
import Consumer
from Consumer import Consumer
cons = Consumer('mockconfig.config', 'logque1')
class TestConsumerMethods(unittest.TestCase):
def test_fileExists(self):
self.assertEqual(cons.file_exists('./dir/', 'thisDoesntExist.config), False)
self. assertEqual(cons.file_exists('./dir/', thisDoesExist.config), True)
这是测试我班的正确方法吗?我的意思是,理想情况下我只想使用类方法而不必实例化类,因为要“隔离”代码,对吗?在
我不确定您是否正在搜索,但您可以将测试添加到文件末尾,如下所示:
这样,通过执行包含类定义的文件,就可以执行放在
if
语句中的测试。在这样,测试将只在直接执行文件本身时执行,而不是从中导入类。在
不要让一个全局对象作为测试对象,因为它可能会导致某个状态被一个测试设置,并影响另一个测试。在
每个测试都应该独立运行,并且完全独立于其他测试。在
相反,可以在测试中创建对象,也可以通过将其放入setUp方法为每个测试自动创建该对象:
至于你是否真的要实例化你的类,这取决于类的实现。我想一般来说,你应该希望实例化一个类来测试它的方法。在
相关问题 更多 >
编程相关推荐