相关疑难解决方法(0)

单元测试setUp/tearDown进行多次测试

是否有一个在测试场景的开头/结尾触发的函数?函数setUp和tearDown在每次测试之前/之后触发.

我通常想拥有这个:

class TestSequenceFunctions(unittest.TestCase):

    def setUpScenario(self):
        start() #launched at the beginning, once

    def test_choice(self):
        element = random.choice(self.seq)
        self.assertTrue(element in self.seq)

    def test_sample(self):
        with self.assertRaises(ValueError):
            random.sample(self.seq, 20)
        for element in random.sample(self.seq, 5):
            self.assertTrue(element in self.seq)

    def tearDownScenario(self):
        end() #launched at the end, once
Run Code Online (Sandbox Code Playgroud)

现在,这些setUp和tearDown是单元测试并在我的所有场景中传播(包含许多测试),一个是第一个测试,另一个是最后一个测试.

python unit-testing

107
推荐指数
3
解决办法
7万
查看次数

Python unittest.TestCase执行顺序

Python中有没有办法unittest设置运行测试用例的顺序?

在我目前的TestCase课程中,一些测试用例具有副作用,为其他测试用例设置正常运行的条件.现在我意识到这样做的正确方法是使用setUp()所有设置实现的东西,但我想实现一个设计,其中每个连续的测试建立稍微更多的状态,下一个可以使用.我发现这更优雅.

class MyTest(TestCase):
  def test_setup(self):
   #do something
  def test_thing(self)
   #do something that depends on test_setup()
Run Code Online (Sandbox Code Playgroud)

理想情况下,我希望测试按照它们在课堂中出现的顺序运行.它们似乎按字母顺序运行.

python unit-testing

68
推荐指数
6
解决办法
4万
查看次数

标签 统计

python ×2

unit-testing ×2