2014-02-11 163 views
0

所以,我使用Python和unittest來測試另一個程序的行爲。總的來說,這工作正常。但我需要測試的行爲之一是其他程序是否正確設置和取消設置某些環境變量。事件的順序是:Python測試腳本啓動,Python腳本啓動要測試的程序,Python腳本在另一個應該設置或取消設置環境變量的程序上調用一個命令,Python腳本嘗試檢測該環境變量,測試可以通過或失敗。現在,我可以通過手動測試確認環境變量被正確設置,但我無法讓Python接受。 Python腳本似乎無法看到環境變量的任何更新。有沒有辦法解決這個問題?如果您使用os.environ來測試變量檢測環境變量的變化

+0

你可以發佈你的代碼嗎? – dm03514

+2

這將取決於操作系統...你在使用什麼操作系統? ...例如,如果您使用的是Linux版本,您可能可以執行諸如「cat/proc//environ」之類的操作,或者在您可能能夠檢查註冊表的\ windows \ –

回答

0

該映射被捕獲在第一時間os模塊被導入, 通常在Python啓動的加工site.py.的一部分在此時間之後對環境所做的更改 未反映在 os.environ中,但通過直接修改os.environ所做的更改除外。