在64位环境下执行单元测试

1、问题表现

老谭是微软的技术发烧友,最近装了Windows 8.1。为了上档次,装了64位的。

开发环境也要跟着升级,特别是Oracle客户端,也跟着升级到到了64位。否则,在IIS中运行时,会报错,说不能在64位环境下调用32位的Oracle客户端。

一切运行正常,直到开始运行单元测试。单元测试用的是MSTest。运行时报错,说是程序集格式错误,并仍然提示,说原因可能是在64位环境下调用32位的Oracle客户端。这回的提示是弄颠倒了,其实是在32位环境下调用64位的程序集所致。

2、解决方法

MSTest缺省是在32位环境下运行的,需要将其调整到64位。功能庞杂如Visual Studio者,支持这一点,但这个操作相当隐秘,所以值得说说。

2.1 创建测试配置文件

如果还没有为测试创建配置文件,就要新建一个。

操作方法是:选中解决方案(注意不是其中的某一个项目),按右键,在弹出菜单中选择 “添加(D)” -> “新建项(W)”(不是“新建项目(N)”)。在弹出的窗口中,选择“测试设置”。需要给测试设置取一个名字,在这个例子中,我们就将其命名为 64bit:

单击“添加(A)”按钮,就会创建该测试设置文件。

VS紧跟着会打开具体的设置界面。在其中,选择“在64位机上的64进程中运行测试”:

点击“应用按钮”,再点击“关闭”,即完成“测试设置文件”的创建。

创建完成后,可以在解决方案项目中看到刚创建的设置文件:

2.2 应用测试设置文件

在刚创建的测试设置文件中,我们告知MSTest在64位环境下运行。但还缺少一个步骤:使这样的设置生效。

具体的操作步骤是:在“测试(S)”菜单中,选择 "测试设置(S)" -> "选择测试设置文件(S)":

在弹出的文件选择对话框中,选择我们刚创建的测试设置文件 64bit.testsettings 即可。再打开这个菜单,就可以看到,测试设置就是64bit了:

3、效果

经过这样的设置,就可以在单元测试中,通过64位的Oracle客户端访问Oracle数据库了。不管你们行不行,反正我是行了。


  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值