我正在编写api测试并使用nose运行它们,并希望传递像test域这样的参数。一种方法是设置环境变量。但我正在寻找像$ nosetests --test-domain=http://xx.x.xxx.xxx:xxxx
这样的东西。我有办法实现这个吗?
以下是我的一些测试代码,我想传入测试域名,而不是在测试中对其进行硬编码。
import unittest
from utils import HTTPClient
class TestProfiles(unittest.TestCase):
def setUp(self):
test_domain = "http://xx.x.xxx.xxx:xxxx"
headers = {}
auth_token = "Bearer rtghyuGsHitiYWQzOWRiZmU6ODUwZTYldorkfTE2NTEwYTk3ZTg3YMdmNzRkZjc1NDg0OTgxYzNkYzU2NjExZw"
headers["Authorization"] = auth_token
self.client = HTTPClient(test_domain, headers)
def test_get_profiles_valid(self):
path = "/v1/users/033a60d5-3339-4898-93e5-83f1a5a46cbe/profiles"
r = self.client.request(path)
self.assertEqual(r.status_code, 200)
如果我别无选择,我将使用env变量并运行测试:
$ TEST_DOMAIN=http://xx.x.xxx.xxx:xxxx nosetests
答案 0 :(得分:1)
通常使用单元测试来调用真正的api是一个坏主意。也许你应该模仿这个api调用来测试你自己的函数?无论如何,你可以使用nose-testconfig传递一些参数。
您也可以从您自己的应用程序中调用var message = [
market,
address,
ticket,
userName,
phone,
comment].join("\n")
runner,该应用程序接受任何参数,或者编写插件