Python Nose /单元测试 : where to define constants such as credentials

标签 python unit-testing nose python-unittest

我使用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/

相关文章:

python - Celery 任务不起作用

c# - 使用 NUnit 创建嵌套的 TestFixture 类

unit-testing - Boost 测试与 Google 测试框架

c++ - 如何对写入 stdout/std::cout 的函数进行单元测试

Python 连续运行单元测试或每个测试多次

python - 在 Nose 中的设置和拆卸功能之间共享对象

python nose xunit报告文件为空

python - 如何替换所有未出现在预定义字符串/列表中的符号?

python - 如何向 pyplot 折线图添加引用线?

python - 如何通过 tweepy 将推文导出为 txt 或 json?