我要测试一个什么都不做的类吗?

2024-10-04 11:28:20 发布

您现在位置:Python中文网/ 问答频道 /正文

在我的应用程序中,我有两个类:一个实际记录到数据库的记录器和一个什么都不做的虚拟记录器(当日志记录被禁用时使用)。以下是整个DummyLog类:

class DummyLog(object):
    def insert_master_log(self, spec_name, file_name, data_source,
                          environment_name):
        pass
    def update_master_log(self, inserts, updates, failures, total):
        pass

一方面,我应该让它过去,而不是测试它,因为实际上没有任何代码可以测试。但是,我的“测试感染”本能告诉我,这是一个借口,课程的简单性意味着我应该更愿意测试它。我只是不知道该测试什么。在

有什么想法吗?或者我应该放手不写任何测试吗?在


Tags: nameselfmasterlog数据库应用程序objectdef
3条回答

当然,你可以测试一个什么都不做的类。你测试一下,它实际上什么也没做。在

实际上,这意味着:

  • 它存在并且可以被实例化
  • 它在使用时不会抛出异常;调用每个方法并简单地断言它们成功了。这还可以双重检查类是否确实定义了它期望的每个方法。在

不要在DummyLog上运行这个测试;把它作为一个通用测试,并在all记录器上运行它。当您在一年后将另一个方法添加到real Log类中而忘记将其添加到DummyLog时,测试会注意到。(当然,只要您确实记得为该方法添加一个通用测试,但希望添加测试应该是习惯性的,即使您忘记了相关的类)

如果它不能失败。没有什么可测试的。在

测试用例结果需要包含至少一个成功的状态和至少一个不成功的状态。如果任何输入到测试结果都是成功的输出。那么就没有一个测试你可以创建一个永远不会失败的测试。在

如果你不测试,你怎么知道它什么都没有? :)

抱歉-无法抗拒。说真的-我会测试因为有一天它可能会做得更多?在

相关问题 更多 >