【问题标题】:Python: Where to put a one time initialization in a test case of unittest framework?Python:在 unittest 框架的测试用例中将一次性初始化放在哪里?
【发布时间】:2017-02-26 15:18:42
【问题描述】:

我的测试很简单。我想向两个不同的服务器发送两个请求,然后比较结果是否匹配。

我想测试以下内容。

  1. 发送每个请求,查看返回码是否有效。
  2. 比较每种测试方法中输出的不同部分

我不想在 setUp 方法中发送请求,因为它会在每个新测试中一遍又一遍地发送。我宁愿在初始化时发送请求。 (可能在 init 方法中)。但是我发现很多人反对这个想法,因为他们认为我不应该出于某种原因重写 init 方法。 (我不知道为什么)如果是这样,我应该在哪里发送请求? 我有点反对在类主体中执行它们(作为共享变量)。

【问题讨论】:

标签: python python-2.7 unit-testing python-unittest


【解决方案1】:

在单个类运行测试之前调用的类方法。 setUpClass 以类作为唯一参数调用,并且必须装饰为 classmethod():

@classmethod
def setUpClass(cls):
    ...

见:https://docs.python.org/3/library/unittest.html#unittest.TestCase.setUpClass

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2010-11-09
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-03-30
    • 1970-01-01
    • 2014-04-27
    相关资源
    最近更新 更多