Python:在unittest框架的测试用例中将一次性初始化放在哪里?

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

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

我想测试以下内容。

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

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

最佳答案

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

@classmethod
def setUpClass(cls):
    ...

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

关于Python:在unittest框架的测试用例中将一次性初始化放在哪里?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40089787/

相关文章:

Python Singletons - 你如何在你的测试平台中摆脱(__del__)它们?

android - 协程主体未涵盖在单元测试代码覆盖范围内 - Android Studio

python - 使用新样式的信号和插槽组合框?

Python MySQL 队列 : run code/queries in parallel, 但单独提交

python - 尝试将模型从 keras 导出到 CoreML

python - 从另一个目录导入文件

python - 一定时间后继续 for 循环

python - 如何在gdb中使用__slots__读取python对象的属性

python - 比较运算符之间没有隐含关系

c# - Assert.ReferenceEquals() 在 Visual Studio 测试中通过 Object.ReferenceEquals() 返回 'false'