5

在 dotnetnuke 应用程序中执行单元测试的标准、最佳实践方法是什么?我搜索了 SO 以及 dnn 网站,但找不到太多关于此的信息。我假设 dnn 有一些东西可以用来做单元测试,或者至少是一个可以插入的库。我在哪里可以找到更多信息?关于该主题的教程将是理想的,但任何资源都将受到赞赏。

谢谢!

4

3 回答 3

4

DotNetNuke 中没有太多关于测试的信息。作为一个基于 WebForms 的项目,它并没有引起社区中许多开发人员的强烈关注。

例如,您可以查看 DNN 源代码中的单元测试项目,其中使用了许多不同的方法。他们使用 MbUnit 和 Moq 进行单元测试,以及使用 Watin 测试 Web 前端。

制作可测试模块的主要技术是使用 WebForms MVP 集成,以便您拥有可测试的、松散耦合的 Presenter,您可以轻松地将依赖项注入其中。在 codeplex 上有一个示例模块的开始,但它从未完全充实。但是,它的项目页面确实有一些很好的背景。

于 2012-05-02T13:25:53.627 回答
2

对于数据驱动的单元测试方法,请注意以下几点:

  • 为单元测试项目创建 app.config 文件,并从 DNN Web 应用的 web.config 中复制与“数据”、“缓存”相关的部分

  • 在运行任何测试之前安装缓存提供程序: ComponentFactory.InstallComponents(New ProviderInstaller("caching", GetType(CachingProvider)))

于 2013-02-12T16:02:39.117 回答
1

当单元测试数据驱动模块时:

  • 如果需要,请务必添加核心 DNN 文件 + DotNetNuke.Instrumentation.dll + PetaPoco
  • 在 app.config 中包含数据和缓存部分(从 DNN web.config 复制部分)
  • 在调用 DataProvider 方法之前在代码中初始化数据和缓存提供程序:

    ComponentFactory.InstallComponents(new ProviderInstaller("data", typeof(DataProvider)), new ProviderInstaller("caching", typeof(CachingProvider)));

于 2015-07-21T21:32:31.950 回答