4

我是一名承包商,正在做一些单元测试,这些测试使用 Windows 身份验证来访问不同域中的测试服务器。我一直在我的客户 VM 上运行我的测试,自从我在他们的网络上以来,一切都运行良好,并且使用我在他们的域上的登录凭据来运行单元测试。不幸的是,VM 非常慢,(服务器重新启动需要 30 分钟,而我提出了 14 项目解决方案),我决定尝试在我的笔记本电脑上运行 VS。我能够让它构建得很好,但是当我去运行我的单元测试时,它在尝试访问测试服务器时出错,因为我在我的笔记本电脑上以自己的身份运行,而不是在他们的域中。

有没有办法以不同的用户身份运行单元测试?

我尝试使用 C:\Windows\System32\runas.exe /netonly /user:theirDomain\uid "C:\Program Files (x86)\Microsoft Visual Studio 10.0\Common7\IDE\devenv.exe" 运行测试,但是它不起作用(我猜是因为单元测试实际上是作为 QTAgent32.exe 运行的,所以它不起作用)。我已经能够使用相同的命令让 SQL Server Manager 连接到他们的 SQL Server。

另一种选择可能是想办法在我的笔记本电脑上的域上信任我的用户凭据,但这也不起作用......

4

2 回答 2

1

您可以使用命令行应用程序 mstest.exe 直接运行单元测试。这就是 VS 在幕后所做的。结合runas.exe,我认为应该可以完全解决您的问题。

mstest.exe 参考:http: //msdn.microsoft.com/en-us/library/ms182489 (v=vs.80).aspx

编辑:我只想说,为了提高效率,我认为理想的解决方案是让他们的系统管理员创建一个域帐户供您使用。

于 2013-01-28T22:21:29.817 回答
0

如果您有域帐户 - 您可以提高 VPN 连接或将您的笔记本电脑添加到他们的域。

于 2013-01-29T04:35:24.647 回答