在python中从Suite中为TestCase提供参数

use*_*618 8 python unit-testing testcase

从python文档(http://docs.python.org/library/unittest.html):

import unittest

class WidgetTestCase(unittest.TestCase):
    def setUp(self):
        self.widget = Widget('The widget')

    def tearDown(self):
        self.widget.dispose()
        self.widget = None

    def test_default_size(self):
        self.assertEqual(self.widget.size(), (50,50),
                         'incorrect default size')

    def test_resize(self):
        self.widget.resize(100,150)
        self.assertEqual(self.widget.size(), (100,150),
                         'wrong size after resize')
Run Code Online (Sandbox Code Playgroud)

这是如何调用那些测试用例:

def suite():
    suite = unittest.TestSuite()
    suite.addTest(WidgetTestCase('test_default_size'))
    suite.addTest(WidgetTestCase('test_resize'))
    return suite
Run Code Online (Sandbox Code Playgroud)

是否可以将参数custom_parameter插入到WidgetTestCase中,如:

class WidgetTestCase(unittest.TestCase):
    def setUp(self,custom_parameter):
        self.widget = Widget('The widget')
        self.custom_parameter=custom_parameter
Run Code Online (Sandbox Code Playgroud)

use*_*618 6

我刚刚添加了test_suite模块

WidgetTestCase.CustomParameter="some_address"
Run Code Online (Sandbox Code Playgroud)

最简单的解决方案是最好的:)