2012-05-01 13 views
5

dotnetnukeアプリケーションでユニットテストを実行するための標準的なベストプラクティス方法は何ですか?私はSOとDSNのウェブサイトを検索しており、これに関する多くの情報を見つけることができませんでした。私はdnnが単体テストのためにベーキングされているか、少なくともプラグイン可能なライブラリを持っていると仮定します。どこで詳細情報を見つけることができますか?件名に関するチュートリアルは理想的ですが、どんなリソースでも感謝します。DotNetNukeユニットテスト施設とチュートリアル

ありがとうございます!

答えて

4

DotNetNuke内でのテストに関する情報はあまりありません。 WebFormsベースのプロジェクトであるため、コミュニティ内の多くの開発者にとって大きな懸念事項ではありません。

たとえば、DNNのソースにあるユニットテストプロジェクトを見ることができます。これらのプロジェクトには、さまざまな手法が使用されています。彼らはユニットテストのためにMbUnitとMoqを使用し、WebフロントエンドをテストするためにWatinを使用します。

テスト可能なモジュールを作成する主な手法は、WebForms MVP統合を使用することです。これにより、テスト可能で疎結合のプレゼンターがあり、依存関係を簡単に挿入できます。 sample module on codeplexの始まりがありますが、決して完全に洗練されたことはありません。しかし、それはそのプロジェクトページの良い背景を持っています。データドリブン単体テストのアプローチについては

+0

bdukes、返信ありがとうございます。私はルビーとPHPの背景から来たように、私はあなたの答えについての新しい.NETの質問があります。 WebForms MVPの統合がテスト可能なモジュールを作るための主なテクニックだと言ったら、MVPを使って単体テストを作成し、今テストされたMVPコンポーネントをDNNに接続することを意味しますか?それとも全く別のことを意味しましたか? – Jonah

+0

WebForms MVPは、モジュールを開発するためのフレームワークです。このフレームワークにより、標準のWebForms開発方法では実現が難しい分離が可能になります。任意のテストフレームワーク([NUnit](http://www.nunit.org/)、[xUnit.net](http://xunit.codeplex.com/)、[MbUnit](http: /mbunit/)、[SpecFlow](http://www.specflow.org/))、モック/分離フレームワーク([Moq](https://github.com/Moq/moq))、 [FakeItEasy](http://hibernatingrhinos.com/open-source/rhino-mocks)、[TypeMock](http:// www。 typemock.com/)) – bdukes

2

、次の点に注意してください。

  • ユニットテストプロジェクトのためのapp.configファイルを作成し、web.configファイルから「データ」、「キャッシュ」に関連するセクションをコピーDNNのWebアプリの

  • 任意のテストを実行する前に、キャッシュ・プロバイダーをインストールします。 ComponentFactory.InstallComponents(New ProviderInstaller("caching", GetType(CachingProvider)))

1

ユニットテストデータDRIをVENモジュール:needeed

  • (DNNのweb.configファイルからのコピーセクション)app.configをでデータ&キャッシュセクションを含める場合

    • はDotNetNuke.Instrumentation.dll + PetaPoco +コアDNNファイルを追加するようにしてください

      は、データプロバイダメソッドを呼び出す前に、あなたのコード内のデータ&キャッシュプロバイダを初期化します。

      ComponentFactory.InstallComponents(新ProviderInstaller( "データ"、typeof演算(データプロバイダ))、新ProviderInstaller( "キャッシング"、typeof演算(CachingProviderを)));

  • +0

    ComponentFactoryを追加します。コンテナ=新しいSimpleContainer(); InstallComponentsとすべての前にOKです – Jerome2606

    関連する問題