gpt4 book ai didi

python - 我可以用 Nose 嵌套测试用例吗?

转载 作者:太空宇宙 更新时间:2023-11-03 11:34:21 25 4
gpt4 key购买 nike

我已经成为 RSpec 和 Jasmine 等嵌套测试用例上下文的粉丝,我想知道是否有任何 Nose 插件实现了允许您将类嵌套为上下文的测试查找器。生成的测试将类似于以下内容:

from nose.tools import *
from mysystem import system_state

class TestMySystem (TestCase):
def setUp(self):
system_state.initialize()

class WhenItIsSetTo1 (TestCase):
def setUp(self):
system_state.set_to(1)

def test_system_should_be_1 (self):
assert_equal(system_state.value(), 1)

class WhenItIsSetTo2 (TestCase):
def setUp(self):
system_state.set_to(2)

def test_system_should_be_2 (self):
assert_equal(system_state.value(), 2)

在上述假设情况下,system_state.initialize() 将在每次测试之前被调用。我知道有 PyVows 可以做这样的事情,它看起来不错,但我正在寻找可以插入我当前项目的东西,该项目已经有许多单元测试/ Nose 式测试。

最佳答案

听起来您希望您的某些测试从其他测试继承设置代码:

from nose.tools import *
from mysystem import system_state

class TestMySystem (TestCase):
def setUp(self):
system_state.initialize()

class WhenItIsSetTo1 (TestMySystem):
def setUp(self):
super(WhenItIsSetTo1, self).setUp()
system_state.set_to(1)

def test_system_should_be_1 (self):
assert_equal(system_state.value(), 1)

class WhenItIsSetTo2 (TestMySystem):
def setUp(self):
super(WhenItIsSetTo2, self).setUp()
system_state.set_to(2)

def test_system_should_be_2 (self):
assert_equal(system_state.value(), 2)

这样做时要小心;如果您在父类中有实际的测试方法,它们也会在子类运行时执行(当然)。当我这样做时,我喜欢制作只提供 setUp、tearDown 和 classSetup/classTearDown 的纯父测试类。

这应该允许您进行任意级别的嵌套,但是一旦您这样做了,您将需要单元测试来进行单元测试...

关于python - 我可以用 Nose 嵌套测试用例吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8769068/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com