2016-03-11 112 views
0

我正在寫api測試並用鼻子運行它們,並且想要傳遞像測試域這樣的參數。一種方法是設置環境變量。但我正在尋找類似$ nosetests --test-domain=http://xx.x.xxx.xxx:xxxx的東西。我有沒有辦法實現這一點?如何將參數傳遞給命令行上的nosetests

這裏是我的一些測試代碼,我想通過測試域名而不是在測試中對其進行硬編碼。

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

你可以寫一個插件:http://nose.readthedocs.org/en/latest/plugins/writing.html –

回答

1

一般是使用單元測試來調用API真正的壞主意。也許你應該嘲笑這個API來測試你自己的函數嗎?無論如何,你可以使用nose-testconfig來傳遞一些參數。 你也可以調用nosetests跑步者從你自己的應用程序接受任何參數,或寫一個插件

相關問題