在 dotnetnuke 应用程序中执行单元测试的标准、最佳实践方法是什么?我搜索了 SO 以及 dnn 网站,但找不到太多关于此的信息。我假设 dnn 有一些东西可以用来做单元测试,或者至少是一个可以插入的库。我在哪里可以找到更多信息?关于该主题的教程将是理想的,但任何资源都将受到赞赏。
谢谢!
在 dotnetnuke 应用程序中执行单元测试的标准、最佳实践方法是什么?我搜索了 SO 以及 dnn 网站,但找不到太多关于此的信息。我假设 dnn 有一些东西可以用来做单元测试,或者至少是一个可以插入的库。我在哪里可以找到更多信息?关于该主题的教程将是理想的,但任何资源都将受到赞赏。
谢谢!
DotNetNuke 中没有太多关于测试的信息。作为一个基于 WebForms 的项目,它并没有引起社区中许多开发人员的强烈关注。
例如,您可以查看 DNN 源代码中的单元测试项目,其中使用了许多不同的方法。他们使用 MbUnit 和 Moq 进行单元测试,以及使用 Watin 测试 Web 前端。
制作可测试模块的主要技术是使用 WebForms MVP 集成,以便您拥有可测试的、松散耦合的 Presenter,您可以轻松地将依赖项注入其中。在 codeplex 上有一个示例模块的开始,但它从未完全充实。但是,它的项目页面确实有一些很好的背景。
对于数据驱动的单元测试方法,请注意以下几点:
为单元测试项目创建 app.config 文件,并从 DNN Web 应用的 web.config 中复制与“数据”、“缓存”相关的部分
在运行任何测试之前安装缓存提供程序:
ComponentFactory.InstallComponents(New ProviderInstaller("caching", GetType(CachingProvider)))
当单元测试数据驱动模块时:
在调用 DataProvider 方法之前在代码中初始化数据和缓存提供程序:
ComponentFactory.InstallComponents(new ProviderInstaller("data", typeof(DataProvider)), new ProviderInstaller("caching", typeof(CachingProvider)));