【问题标题】:Any ASP.NET (WebForm) apps which have good unit tests (CodePlex or anywhere)?任何具有良好单元测试(CodePlex 或任何地方)的 ASP.NET (WebForm) 应用程序?
【发布时间】:2011-06-20 00:49:15
【问题描述】:

我正在寻找在其解决方案中具有一些良好单元测试的任何 ASP.NET(WebForms 和 C#)应用程序。很好的意思是测试不同类型的边缘情况并进行良好的代码覆盖。 CodePlex、GitHub 或任何地方的任何应用都可以。

这是出于教育目的,因此我更喜欢较小的应用程序而不是大型应用程序。 有什么建议吗?

澄清:

虽然应用程序是 WebForms,但我感兴趣的单元测试更多的是业务逻辑,而不是 UI。是的,任何 .NET 应用程序都可以,但如果是带有一些 UI 测试的 WebForms,那就更好了。

【问题讨论】:

  • 通过可测试的直接 WebForms 可能有些困难,但您可能对MVP pattern 有更多的运气。它仍然使用 WebForms,但方式略有不同。
  • @ROMAN:不要相信神话。对 Web 窗体代码进行单元测试就像对 MVC 代码进行单元测试一样容易。只是不允许代码与表示层中的任何业务逻辑一起签入,然后对业务逻辑进行单元测试。
  • @John:很公平,您可以将良好实践应用于任何类型的代码(包括 WebForms)。尽管框架中没有任何内容可以指导您编写更多可测试的代码。
  • @ROMAN:优秀的程序员不需要被“引导”才能做好工作。
  • @John:我觉得只有在给定的域中才会这样。每次切换时,并非所有技能都可以直接转移,因此有一个框架可以指导您采用更好的方法。

标签: c# asp.net unit-testing nunit webforms


【解决方案1】:

ScrewTurn wiki 是开源的,版本 3.x 用 C# 和 ASP.NET 3.5 编码,源代码与组件测试捆绑在一起。

【讨论】:

    【解决方案2】:

    我个人认为,无论使用什么框架,业务逻辑层中的单元测试对于任何 Web 应用程序都是不够的。

    最好的策略是进行严格的“冒烟测试”,可能保存在 Excel 工作簿中,您可以在其中练习所有已知的可能输入和操作集,并且能够在进行新部署时确定“一切正常” .

    单元测试很有价值,但它们无法在生产环境中重现应用程序的行为。

    【讨论】:

    • 我想这取决于您在代码中写入的错误类型。如果您的业务逻辑甚至数据库逻辑都经过了彻底的单元测试,那么您就没有任何错误。这会在您的演示代码中留下错误,这可以通过自动化 UI 测试来防止,甚至可以通过代码审查来防止。
    【解决方案3】:

    看看这个。不知道它是不是你想要的 :) 它是 ASP.NET,实现了 MVP 模式,它有一些测试覆盖率 - .NET Framework 3.5 Bundle

    【讨论】:

      【解决方案4】:

      我刚刚完成了一个网络电子商务网站。 对于业务逻辑,我创建了一个单独的 dll,并使用 NUnit 对其进行测试。 Nunit 使用简单,使用 .bat 文件启动简单(快速),并且可以使用图形界面。

      在网站中,我使用 NLOG 记录用户操作。在这种情况下,最好的方法(在您测试一段时间后)是将您的网站提供给最终客户,并在每次出现异常时查看日志文件。

      【讨论】:

        【解决方案5】:

        我知道您正在寻找编码示例来学习单元测试,但是

        编程基础 - Karl Seguin 构建更好的软件

        是一本很好的书,可以帮助指导您完成模拟单元测试的过程。它只有 79 页长,应该能让您快速上手。

        http://openmymind.net/FoundationsOfProgramming.pdf

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2012-11-04
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2021-07-23
          • 1970-01-01
          相关资源
          最近更新 更多