Python nose/unittests: 在哪里定义凭证等常量

Python nose/unittests: where to define constants such as credentials

我使用 nose 和 unittest 来测试我的代码,其中一些涉及与需要某种形式的身份验证(例如 OAuth)的外部(网络)API 交互。 define/retrieve 常量的正确方法是什么,在哪里是 a) 运行 测试 所必需的,b) 不可以公开曝光吗?


为什么我(认为)我需要这个:

我的一些代码上传到 Youtube 上的视频。其他部分与其他 Google API 交互。两者的单元测试需要相同的 OAuth 凭据。 Google 禁止我在上传到 GitHub 的代码中包含一次性对,因此想要 运行 单元测试的人将需要提供他们自己的(可免费获取的)OAuth 应用程序凭据

如果这是为了集成测试,我之前这样做的方法是在机器上设置环境变量并将它们导入python。

import os
password = os.environ['PASSWORD']
username = os.environ['USERNAME']

这会将任何密码或用户名排除在您的代码库之外