dotnetnuke アプリで単体テストを実行するための標準的なベスト プラクティスの方法は何ですか? SO と dnn Web サイトを検索しましたが、これに関する多くの情報を見つけることができませんでした。dnn には、単体テストを実行するための何かが組み込まれているか、少なくともプラグインできるライブラリが組み込まれていると思います。詳細情報はどこで入手できますか? このテーマに関するチュートリアルが理想的ですが、どんなリソースでも大歓迎です。
ありがとう!
dotnetnuke アプリで単体テストを実行するための標準的なベスト プラクティスの方法は何ですか? SO と dnn Web サイトを検索しましたが、これに関する多くの情報を見つけることができませんでした。dnn には、単体テストを実行するための何かが組み込まれているか、少なくともプラグインできるライブラリが組み込まれていると思います。詳細情報はどこで入手できますか? このテーマに関するチュートリアルが理想的ですが、どんなリソースでも大歓迎です。
ありがとう!
DotNetNuke 内でのテストに関する情報はあまりありません。WebForms ベースのプロジェクトであるため、コミュニティ内の多くの開発者はあまり関心を持っていませんでした。
例として、DNN のソース内の単体テスト プロジェクトを見ることができます。これらのプロジェクトでは、さまざまなアプローチが使用されています。単体テストには MbUnit と Moq を使用し、Web フロントエントのテストには Watin を使用しています。
テスト可能なモジュールを作成するための主な手法は、WebForms MVP 統合を使用することです。これにより、依存関係を簡単に挿入できる、テスト可能な疎結合のプレゼンターを作成できます。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)));