我想用Python中的Selenium RC执行测试套件。在这组测试中,我想:
所有测试原则上都已完成,但它们不能作为包含这三个测试的整个测试套件。我尝试在 setUp 方法中生成数据,但在所有测试中,数据都不同。我已经了解到,在每次测试执行中都会运行 setUp()和 tearDown()方法,因此我尝试将数据生成器移动到测试类构造函数中,但我仍然可以'处理它。
我的测试结构如下:
class TestClass(unittest.TestCase):
def __init__(self, TestClass):
unittest.TestCase.__init__(self, TestClass)
self.define_random_data()
def setUp(self):
db_connection_function(self)
def some_internal_methods(self):
...
def test_website_data_input(self):
...
def test_db_test(self):
...
def test_email_parse(self):
...
def tearDown(self):
...
suite = unittest.TestLoader().loadTestsFromTestCase(TestClass)
unittest.TextTestRunner(verbosity=2).run(suite)
我做错了什么?在每个测试中生成的数据都不同,我不知道如何处理它 - 我试图在每个可能的地方运行这个方法,但它仍然是错误的。
答案 0 :(得分:1)
import unittest
import random
random_data = random.random()
class TestClass(unittest.TestCase):
def __init__(self, TestClass):
unittest.TestCase.__init__(self, 'test_first')
self.data = random_data
def test_first(self):
self.fail(self.data)
def test_second(self):
self.fail(self.data)
if __name__ == '__main__':
unittest.main()
我刚刚对其进行了测试,并为每次测试打印出相同的失败消息。随机数据仅在导入测试模块时生成。