我使用nose和unittest来测试我的代码,其中一些涉及与需要某种形式的身份验证(例如OAuth)的外部(Web)API进行交互。定义/检索常量的正确方法是什么,在哪里,a)运行测试所需,b)不适合公开暴露?
<小时/>为什么我(认为)我需要这个:
我在 Youtube 上上传了一些视频代码。其他部分与其他 Google API 交互。两者的单元测试都需要相同的 OAuth 凭据。 Google 禁止我在上传到 GitHub 的代码中包含一次性的对,因此想要运行单元测试的人需要提供自己的(可免费获取的)OAuth 应用程序凭据
最佳答案
如果这是为了集成测试,我之前完成此操作的方法是在计算机上设置环境变量并将它们导入到 python 中。
import os
password = os.environ['PASSWORD']
username = os.environ['USERNAME']
这会将任何密码或用户名排除在您的代码库之外
关于Python Nose /单元测试 : where to define constants such as credentials,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32993775/