gpt4 book ai didi

python - 运行需要环境变量的单元测试

转载 作者:行者123 更新时间:2023-12-05 01:57:37 25 4
gpt4 key购买 nike

没有环境变量,我们知道,调用是:python -m unittest 测试.unit_test_1

但是我需要传递环境变量,因为我需要将一些值插入到数据库中,而数据库中的凭据与我同在。我不想将它写在 config/.py 文件中,只将它们作为环境变量传递。因此,如果我将环境变量传递为:

python -m unittest tests.unit_test_1 $username $password

编辑:

unit_test_1.py 大致如下:

import unittest
from sys import argv
from os import environ

class database_helper_tests(unittest.TestCase):
def fetch(this):
x = connet_to_database(environ["username"], environ["password"])
data = x.fetch_from_database(this)
expected_output = ...
self.assertEqual(expected_output, data)

if __name__ == "__main__":
os["username"] = argv[1]
os["password"] = argv[2]
unittest.main()

第一个测试通过。然后我得到的错误是:

ModuleNotFoundError: No module named 'username"
ModuleNotFoundError: No module named 'password"

最后我看到了这个(虽然我只运行了一个测试):

Ran 3 tests in 1.48s

我应该怎么做才能只运行所需的测试?

提前谢谢你。

最佳答案

$ export username="user"
$ export password="secret"
$ python -m unittest tests.unit_test_1

然后像您一样在您的代码中访问

os.environ["username"]

$ username="user" password="secret" python -m unittest tests

example env access

关于python - 运行需要环境变量的单元测试,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/69063339/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com