收藏
回答

miniTest如何实现一套测试用例,两套测试数据在生产和测试环境都能运行?

比如在配置文件config.json中定义env为online或者offline,但是该env需要再测试类中才能拿到,但是使用minium.ddt_case时没办法传入类中的属性,怎么处理丫,具体信息如下:

# 线上测试数据模块
# test_data.online
uname1 = "zhangshan"
pwd1 = "123456"

# 测试环境测试数据模块
# test_data.offline
uname = "lisi"
pwd = "123456"

# 测试类
import minium


@minium.ddt_class
class TestLogin(minium.MiniTest):
    def __init__(self, methodName='runTest'):
        super(TestLogin, self).__init__(methodName)
        pass

    @classmethod
    def setUpClass(cls):
        super(TestLogin, cls).setUpClass()

    @classmethod
    def tearDownClass(cls):
        super(TestLogin, cls).tearDownClass()
        pass

    def setUp(self):
        super(TestLogin, self).setUp()
        if self.test_config.env == "online":
            from test_data import online
            self.test_data = online
        else:
            from test_data import offline
            self.test_data = offline

    def tearDown(self):
        super(TestLogin, self).tearDown()
        pass

    @minium.ddt_case(
        minium.ddt_data((self.test_data.uname, self.test_data.pwd), name='login_pass'),
        # 这里就是问题所在,实际无法运行,装饰器无法拿到self,表示需要实现这样的功能:
        # 根据config.json中配置的env数据是online还是offline取不同的测试数据执行
    )
    def test_login(self, args):
        [uname, pwd] = args
        self.login_page.login(uname, pwd)


最后一次编辑于  02-06
回答关注问题邀请回答
收藏

1 个回答

登录 后发表内容