【发布时间】:2011-10-10 16:20:38
【问题描述】:
我需要将我的单元测试从本地测试更改为远程测试,到目前为止,我认为我所要做的就是将 UrlToTest 更改为指向另一台服务器......但是 VS 一直坚持创建一个开发 Web 服务器而不是使用已经运行的那个。
所以在阅读了一些文档之后,我的问题实际上是我是否在远程和本地计算机上都安装了测试控制器和测试代理,还是什么?如果 WebService 在 Linux 上怎么办...
请注意,我不想调试正在测试的应用程序。我只想为已经在运行的已部署的 WebService 执行测试。
我可能应该提一下,我所有的测试都包含 WebService 调用和一些类似这样的检查:
[TestMethod()]
[HostType("ASP.NET")]
[AspNetDevelopmentServerHost("MainProjectName", "/")]
[UrlToTest("http://servername:port/websitename/TestingOnlyWebForm.aspx")]
public void LoginEmptyDataTest()
{
IUserService userService = CreateIUserService();
string email = "";
string password = "";
ReturnMessage<User> actual;
actual = userService.Login(email, password);
Assert.AreNotEqual(true, actual.Status);
Assert.AreNotEqual("db_error", actual.Info);
}
但我也有更复杂的测试,其中我更改了一些数据并将其发送到另一个 WebService 等等。
请注意,UrlToTest 以前指向 localhost,此时它可以工作,但会启动一个开发人员服务器,这不是我想要的。
【问题讨论】:
-
如果您的测试项目对服务项目有依赖/引用,那么我很确定它会在您运行测试时为您启动本地服务。但是,它是在测试期间调用本地服务还是转到正确的服务?
标签: c# web-services visual-studio-2010 unit-testing