【问题标题】:Testable ASP.NET architectures可测试的 ASP.NET 架构
【发布时间】:2012-02-15 21:33:14
【问题描述】:

我正在寻找有关使用 n 层架构设计 asp.net 应用程序的指导。任何人都可以建议使用 Web 表单、支持模块并允许可重复测试的架构(不是 MVC)。

我理解这个问题的含糊之处,但不知道该怎么说。

更多细节: - 必须使用 ASP.NET Web 表单。 - .NET 4.0(不是版本真的很重要)。 - 我应该能够将部分业务逻辑公开为服务(如果需要)。

【问题讨论】:

  • @ChrisLively:这是一个特定于框架的问题,因此是一个 SO 问题恕我直言。
  • @jgauffin:这是关于程序结构的一般问题。不是关于实施问题的具体问题。

标签: architecture


【解决方案1】:

我已经使用 ASP.NET WebForms 完成了 Model-View-Presenter 开发。这允许您的逻辑存在于可测试的演示者类中。如果您被 WebForms 卡住了,那么这是一个选择。

当我这样做时,我推出了自己的框架。但看起来有人可能已经为您完成了艰苦的工作。

http://haacked.com/archive/2006/08/08/ASP.NETSupervisingControllerModelViewPresenterFromSchematicToUnitTestsToCode.aspx

http://webformsmvp.com/

【讨论】:

  • NerdFury,我要去看看 Haacked 的网站。无论如何,那是我的第一直觉。 WebFormsMvp ....我喜欢他们所做的,但我真的“努力”不使用任何第三方工具(即使它是开源的)。
【解决方案2】:

简单:

WebForms 项目中只有表示逻辑,并将所有业务逻辑移到类库中。并测试该类库。

【讨论】:

  • 那么问题是......你如何测试流程。它适用于简单的应用程序,但对于复杂的应用程序,事情开始变得混乱。
  • 单元测试不测试流程。他们测试每一种方法都按照合同规定的方式工作。
  • jgauffin:我很抱歉。我并不是说单元测试是为了测试流程。
  • 如果每个单元都经过测试并按规定工作,程序就不会失控;)
【解决方案3】:

无论使用什么“框架”或模式,有一件事可以确保您的应用程序是可测试的:使用测试驱动的开发,这样您的应用程序就不会存在,除非作为一种方式单元测试通过。

【讨论】:

  • 约翰,我同意你的观点,因此选择一种“方式”来做事情以允许完整的测试能力是两难的。
猜你喜欢
  • 2011-08-30
  • 2016-10-15
  • 2016-01-12
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2015-12-12
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多