加载程序:测试类
从类中加载测试 not unittest.TestCase
子类。
此插件响应于 loadTestsFromModule()
通过为在模块中的类中找到的测试方法添加测试用例 not 的子类 unittest.TestCase
,但其名称(小写)与配置的测试方法前缀匹配。
这里不加载生成器或具有参数列表的测试类方法,而是通过 nose2.plugins.loader.generators.Generators
和 nose2.plugins.loader.parameters.Parameters
插件。
此插件还实现 loadTestsFromName()
启用从命令行上传递的点类名和方法名加载测试。
此插件使其他测试加载程序可以使用两个附加的插件挂钩:
- nose2.plugins.loader.testclasses.loadTestsFromTestClass(self, event)
- 参数:
event -- A
LoadFromTestClassEvent
实例
插件可以使用此挂钩从不是
unittest.TestCase
子类。若要防止其他插件从测试类加载测试,请设置event.handled
至True
并返回一个测试套件。插件还可以将测试附加到event.extraTests
。通常,这就是您想要的,因为它允许其他插件也从测试用例中加载它们的测试。
- nose2.plugins.loader.testclasses.getTestMethodNames(self, event)
- 参数:
event -- A
GetTestMethodNamesEvent
实例
插件可以使用这个钩子来限制或扩展将从非
unittest.TestCase
通过标准的nose2测试加载程序插件(以及其他与钩子结果相关的插件)进行子类划分。要强制指定名称列表,请设置event.handled
到True
并返回一个列表:这个准确的列表将是从测试用例加载的唯一测试用例名称。插件还可以通过将测试名称附加到event.extraNames
,并通过将测试名称附加到event.excludedNames
.
关于测试类
测试类是看起来像测试的类,但不是 unittest.TestCase
. 测试类支持与测试用例相同的所有测试类型和夹具。
要“看起来像测试”,类的名称必须与配置的测试方法前缀(默认情况下为“test”)相匹配。测试类也必须能够在没有参数的情况下被实例化。
它们对什么有用?大多数情况下,测试类由于某些原因不能子类 unittest.TestCase
. 否则,测试类测试和测试用例在功能上在nose2中是等效的,并且测试用例有更广泛的支持,所有这些都有助于 *assert* *方法——所以当有疑问时,应该使用 unittest.TestCase
.
下面是一个测试类的例子:
class TestSomething(object):
def test(self):
assert self.something(), "Something failed!"
配置 [test-classes]
- always-on
- 违约:
对
- 类型:
布尔
示例配置
默认配置相当于在 unittest.cfg
文件。
[test-classes]
always-on = True