0

我希望每个测试用例在加载设置函数时都应该声明不同的“x”值。有没有办法可以在 setUp 函数中实现。示例代码如下所述。如何在下面的 setUp 函数中更改PSEUDO CODE ?

import random
import unittest

class TestSequenceFunctions(unittest.TestCase):

    def setUp(self):

        # ***PSEUDO CODE***
        x = 10 # if test_shuffle uses setUp()
        x = 20 # if test_choice uses setUp()
        x = 30 # if test_sample uses setUp()
        # ***PSEUDO CODE***

    def test_shuffle(self):
        #test_shuffle

    def test_choice(self):
        #test_choice

    def test_sample(self):
        #test_choice

if __name__ == '__main__':
    unittest.main()

我可以通过在不同的文件中编写每个测试用例来实现,但我会大大增加文件的数量。

4

2 回答 2

1

也许我错过了这一点,但是您的伪代码中的分配可以移动到相应测试的开头。如果“分配”更复杂,或者跨越多个测试,那么只需在测试用例之外但在文件内部创建函数,并且相应的测试会调用任何应该成为其“setUp”一部分的函数。

于 2013-09-12T01:45:31.093 回答
1

一个 unittest 文件以主题方式捕获所有涵盖相似功能的测试。该设置用于使该功能进入可测试状态。

将 X 的分配移动到实际的测试方法中(如果您希望每个测试实际上都有一个 X,则在设置中保持 X = 0)。在阅读测试时,它会更清楚地了解正在发生的事情以及测试的方式。您不应该有影响测试如何在 setup 函数中工作的条件逻辑,因为您将复杂性引入测试的先决条件,这意味着您有更大的错误表面积。

于 2014-12-02T13:40:16.477 回答