2024-04-19 07:49:01 发布
网友
我使用nose测试一个需要用户名和密码的Python类。向测试模块提供用户名和密码对的最佳实践是什么?我希望测试过程是直观的另一个工程师拿起,我不能存储任何敏感的信息在明文。有什么想法吗?你知道吗
最常见的选择是在env变量中提供数据。你知道吗
import os password = os.environ['PASSWORD'] username = os.environ['USERNAME']
$ USERNAME=user PASSWORD=qwerty nose
注意:根和进程所有者可以读取环境变量。通过命令行提供的变量随命令一起出现在shell历史记录中。你知道吗
大多数CI系统提供选项(内部或通过插件)来存储和传递测试/构建计划的凭据,并在日志中屏蔽它们。例如Jenkins有许多插件Mask Password,Credentials Binding。默认情况下,如果name有password单词,Atlassian的Bamboo会屏蔽所有计划变量。就我个人而言,我发现最有用的是Travis的encrypted variables,凭证与repo/commit有关,而不是与计划有关。你知道吗
password
最常见的选择是在env变量中提供数据。你知道吗
$ USERNAME=user PASSWORD=qwerty nose
注意:根和进程所有者可以读取环境变量。通过命令行提供的变量随命令一起出现在shell历史记录中。你知道吗
手动测试
自动化测试
大多数CI系统提供选项(内部或通过插件)来存储和传递测试/构建计划的凭据,并在日志中屏蔽它们。例如Jenkins有许多插件Mask Password,Credentials Binding。默认情况下,如果name有
password
单词,Atlassian的Bamboo会屏蔽所有计划变量。就我个人而言,我发现最有用的是Travis的encrypted variables,凭证与repo/commit有关,而不是与计划有关。你知道吗相关问题 更多 >
编程相关推荐