加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

c# – Visual Studio单元测试和命令行参数,以避免源代码管理中的

发布时间:2020-12-15 08:45:01 所属栏目:百科 来源:网络整理
导读:我正在尝试测试我登录API的能力.当然,这意味着我需要我的测试类来访问我的用户名和密码.但是,我想把这个项目放在公共源代码控制上,所以我不能在代码中共享我的用户名和密码(可以想象).我会使用命令行参数,因为它们存储在.user文件中(可以保持在源代码控制之
我正在尝试测试我登录API的能力.当然,这意味着我需要我的测试类来访问我的用户名和密码.但是,我想把这个项目放在公共源代码控制上,所以我不能在代码中共享我的用户名和密码(可以想象).我会使用命令行参数,因为它们存储在.user文件中(可以保持在源代码控制之外而不会破坏其他用户的项目).但是,那些似乎并没有真正传递给测试类(至少,当我使用Environment.GetCommandLineArgs()时,我没有看到它们).那么如何在本地存储我的密码而不会破坏其他用户的项目呢?有办法吗?

解决方法

常见的方法如下:

>将模板文件添加到项目中,其内容与要存储这些内容的文件相同,只是没有实际值.将空值或虚拟值放在它们的位置.
>将此模板文件添加到源代码管理
>从源代码管理中删除必须包含实际值的文件,并要求它忽略此文件的未来副本.但是,请勿将其从项目中删除.
>添加包含如下命令的预构建构建事件:

IF NOT EXIST "$(ProjectDir)App.config" COPY "$(ProjectDir)App-template.config" "$(ProjectDir)App.config"

这现在有这个效果:

>配置文件的模板现在处于源代码管理中,没有敏感信息
>当您克隆或签出项目的新副本时,磁盘上将丢失存储敏感信息的实际文件,Visual Studio将标记它,忽略此
>执行构建,这将执行上面的命令,有效地检查实际文件是否存在,不是,然后从模板文件中复制新的副本.
>编辑新创建的实际文件,添加敏感信息.
>做另一个构建
>运行单元测试或程序

此方法必须工作,您可以要求源控制工具忽略磁盘上或文件本身中存在的文件,以便在您修改它之后不会自动将其添加到提交中.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读