- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我目前正在实现一种在值之间进行插值、边界处理等的表格,并希望为其编写单元测试。
有很多可能的场景,例如表只能有一个/多个行/列和不同的边界条件。所有这些场景中的表都应该通过同一组单元测试。
现在,我正在为其中一种情况编写一个基类,并从中派生并重写 setUpClass()
方法。然而,这对于测试所有组合来说是乏味的。
是否可以生成 TestCase 类,使用不同的参数动态运行它们。
在谷歌搜索问题时,我发现最好的事情是重载 load_tests()
并一一添加所有测试方法(这意味着在运行每个测试方法之前设置对象,而不是每个测试方法一次场景)。
最佳答案
感谢@jonrsharpe 的提示,我成功做到了。
我的解决方案是动态创建类,然后使用 load_tests
将它们添加到 TestSuite:
def create_test_case(testcase_name, scenario_data):
class ScenarioTestCase(BaseTestCase):
@classmethod
def setUpClass(cls):
cls.fillClassVariables(scenario_data)
return_class = ScenarioTestCase
return_class.__name__ = testcase_name #for separating the results
return return_class
def load_tests(loader, tests, pattern):
list_scenario_names = [...]
list_scenario_data = [...]
loader = unittest.TestLoader()
tests = TestSuite()
for scenario_name, scenario_data in zip(list_scenario_names, list_scenario_data):
tests.addTests(loader.loadTestsFromTestCase(
create_test_case(scenario_name, scenario_data)))
return tests
这样,测试用例就会使用不同的参数动态创建,并在 PyCharm 的测试运行选项卡中单独列出。
关于python - 如何在 Python (2.7) 单元测试中参数化 setUpClass(),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33260214/
我有一个 python 单元测试。在 setupClass 方法中,我执行了一些耗时的任务......测试本身运行得非常快。现在我想用多组参数运行同一个测试用例。我怎样才能做到这一点? 我已经尝试过使
当使用 Python 的内置单元测试时,至少有 2 种不同的方法来组织类级设置,使用 setUpClass() 或只使用老式类成员。何时使用一个,何时使用另一个? class TestFoo(unit
我在每个测试用例中都使用模拟装饰器。有什么方法可以将装饰器合并到 setUpClass 吗? 我的单元测试就像: class TestCase(): @mock.patch('
如果 setUpClass 函数下某些条件不满足,我想跳过所有单元测试。喜欢- @classmethod def setUpClass(cls): if(!condition):
我的代码: class TestSystemPromotion(unittest2.TestCase): @classmethod def setUpClass(self): ...
我正在尝试开始使用 unittest,但我在让 setUpClass() 工作时遇到了问题。这是我的测试代码... import unittest class TestRepGen(unittest.
在下面的例子中可以看出,我为所有的测试定义了一个BaseClass,每个测试用例类都继承了基类。 这两个类都需要执行一次初始化,当执行test_vehicles.py时,我需要确保基类的setUpCl
在下面的例子中可以看出,我为所有的测试定义了一个BaseClass,每个测试用例类都继承了基类。 这两个类都需要执行一次初始化,当执行test_vehicles.py时,我需要确保基类的setUpCl
使用 python 2.6.6 的 unittest 模块,如何在所有测试运行后调用代码? 请考虑以下 MCVE: #!/bin/env python import unittest def setU
我正在尝试为依赖于模块级数据(JSON 文件)的程序编写单元测试。 所以,我想我会使用 setUpClass 类方法设置一个测试 JSON 文件,然后在测试运行后将其删除。 我遇到的问题是,模块级 J
早上好,我正在使用从 django.test.TestCase 继承的测试,我在使用 setupclass 方法时遇到问题,因为访问数据库并引发此错误“失败:不允许访问数据库,使用“django_db
假设我有以下 Python 单元测试: import unittest def Test(unittest.TestCase): @classmethod def setUpClass
这两种方法之间是否存在任何运行时逻辑差异?或者有什么行为差异? 如果不是,那么我是否应该忘记 __init__ 并仅使用 setUpClass 来考虑单元测试类,例如命名空间而不是语言 OOP 范例?
我正在寻找 python 2.7 unittest setUpClass() 方法的一些基本示例。我正在尝试在我的模块中测试一些类方法,并且我已经做到了: import unittest impor
我有如下的单元测试代码: import unittest class MyUnitTest(unittest.TestCase): def setUpClass(self):
我正在使用 pyUnit 框架对我的应用程序进行单元测试。如果 setUpClass 中的某些条件失败,有什么方法可以跳过类里面的所有测试? 目前,我正在 setUpClass 中设置环境(创建资源、
我是Python的初学者,开始用Python设计一个单元测试,我需要在运行测试类之前向服务器发布一些消息(因为它会搜索它们)。因此我需要调用一个非静态方法 postMessages()。 我收到的错误
在 unittest python 库中,我可以在每次测试之前使用 setUp 方法设置变量,并在所有测试之前使用 setUpclass 方法。 如何将数据从 setUpClass 传递到 setUp
是否有一些技巧可以在“描述”测试套件的开始和结束时运行一些代码? 我正在寻找类似于 XUnit 中的 setUpClass/tearDownClass 的东西 在这个例子中,我想在所有测试之前只运行一
我有一个测试类,我想在其中创建并登录一个用户: class UserModelTest(TestCase): fixtures = ['group_perms'] @classmeth
我是一名优秀的程序员,十分优秀!