AspNetDevelopmentServerHost属性的最佳实践是什么?

时间:2009-06-01 16:06:56

标签: unit-testing web-applications tfs build-process

我们有一个Web应用程序项目(实际上有几十个......),它附带了一个测试项目。在测试项目中,我有一个简单的单元测试,它练习了几种方法。

在本地运行,单元测试执行并运行。

但是,当我们的TFS Build服务器尝试执行测试时,它会因AspNetDevelopmentServerHost属性的无效路径错误而失败。其他团队成员可以很好地执行它。

问题是我的TFS工作区的根设置为c:\ projects \其中一个团队成员将其设置为c:\ tfs2008 \另一方面,TFS Build服务器将pathToWebRoot变量设置为“c :\ blahblah \ Release_PublishedWebsites ......“这导致了一条糟糕的道路。

由于我们拥有的项目数量众多,我不能让每个人在每次切换项目时重置环境变量。

那么,团队环境中单元测试Web项目的最佳实践是什么? MSDN site article处于真正的微软时尚方面并不乐于帮助。

3 个答案:

答案 0 :(得分:3)

您应在 %pathtowebroot%\\WebSiteName pathToWebApp属性的AspNetDevelopmentServer参数中指定字符串AspNetDevelopmentServerHost

答案 1 :(得分:3)

我们使用:

<TestMethod(), _
 HostType("ASP.NET"), _
 AspNetDevelopmentServerHost("$(SolutionDir)\\MyWebProject", "/"), _
 UrlToTest("http://localhost:44444/")>
 Public Sub Test()
     AssertStuff();
 End Sub

$(SolutionDir)意味着它可以在每个人的环境中正常工作,并且所有测试都可以签入。我们每次自动创建新测试时都必须更改它,但我们仍在编写测试,所以这不是太困难。

答案 2 :(得分:1)

可以在构建期间设置环境变量来改变路径,并使其在本地环境中工作。