gpt4 book ai didi

ASP.NET 单元测试 Windows7/IIS7

转载 作者:行者123 更新时间:2023-12-04 17:11:56 26 4
gpt4 key购买 nike

今天花了几个小时试图针对 ASP.NET 项目编写一些单元测试。这是 Visual Studio 2010。

使用带有 IIS7 的 Windows 7 Enterprise。

我采取的步骤是:

  • 在解决方案中添加了一个新的测试项目
  • 打开作为网站一部分的类文件 (Member.vb)
  • 在类文件中右键单击并“生成单元测试”
  • 选择我希望为其生成 stub 的方法,选择添加到我的测试项目中,单击确定
  • 在测试项目中打开生成的 MemberTest.vb 文件,在生成的测试之一中单击,单击“在当前上下文中运行测试”

  • 在我的 上执行这些精确步骤时带有 IIS6 的 Windows XP Professional 机器工作正常。

    然而在 IIS7 上的 Windows 7 Enterprise 计算机 我得到:

    The URL specified ('http://localhost/MyProject') does not correspond to a valid directory. Tests configured to run in ASP.NET in IIS require a valid directory to exist for the URL. The URL may be invalid or may not point to a valid Web application.



    所以发生了什么,我可以确认我可以浏览到 http://localhost/MyProject它显示完美。

    我确信我在 Windows/IIS 中缺少某种配置,但我真的很茫然。

    生成的测试方法:
    <TestMethod(), _
    HostType("ASP.NET"), _
    UrlToTest("http://localhost/MyProject")> _
    Public Sub MyMethodTest()
    Dim target As Member_Accessor = New Member_Accessor() ' TODO: Initialize to an appropriate value
    Dim CurrentVal As Short = 0 ' TODO: Initialize to an appropriate value
    Dim expected As Short = 0 ' TODO: Initialize to an appropriate value
    Dim actual As Short
    actual = target.MyMethod(CurrentVal)
    Assert.AreEqual(expected, actual)
    Assert.Inconclusive("Verify the correctness of this test method.")
    End Sub

    (交叉发布于 ASP.NET Forums)

    最佳答案

    这可能是权限问题。

    如果您使用的是默认目录 (C:\users\\Documents\Visual Studio 2010\Projects),则应用标识池在那里没有权限。您必须在 C:\webs 之类的内容中创建一个项目,并确保应用程序池标识对该文件夹具有权限。

    请参阅 Rick Anderson 的博文 http://blogs.msdn.com/b/rickandy/archive/2011/04/22/test-you-asp-net-mvc-or-webforms-application-on-iis-7-in-30-seconds.aspx看看这是否有帮助。

    关于ASP.NET 单元测试 Windows7/IIS7,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9065937/

    26 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com