我正在尝试对访问远程服务的 python 代码进行单元测试。我在 python 2.7 中使用 PyUnit。
在该setUpClass
方法中,代码提示用户输入服务密码。我想保持一切模块化,所以我为每个被测试的类创建了单独的单元测试类。setUpClass
这些类都访问相同的远程服务,并且它们都使用来自超类的方法的单一定义。
我的问题是我必须多次重新输入密码(每个测试类一次)。我很懒。我只想为所有单元测试输入一次密码。我可以通过在单元测试中硬编码密码来避免这个问题,但这是一个糟糕的主意。另一种选择是将所有内容推入一个派生自 的大型类中unittest.TestCase
,但我想避免这条路线,因为我喜欢模块化。
以下是代码的结构:
import unittest
from getpass import getpass
class TestCommon(unittest.TestCase):
@classmethod
def setUpClass(cls):
pwd = getpass()
class test_A(TestCommon):
# ...individual unit tests for class A
class test_B(TestCommon):
# ...individual unit tests for class B
在此示例中,我必须输入两次密码:一次用于 class A
,一次用于 class B
。
有人对我在单元测试运行开始时输入一次性密码的安全方式有建议吗?谢谢!