質問

ります。

私図で入り込んユニット試験、出来てヘ約いただけます。を設置しました途によって数"巻頭にユニットテスト"のタイプアントになります。

私は現在と小さな枠組みの再構築の一つのwebアプリで作成した、VS2008プロジェクトのための私の枠組みたい単体テストまでとしています。

どのように地球にいつのWebControls?の方法は全ての保護やプライベートが守られる個室で、以来、この枠組みはありませんその他の多くのものがWebControls.

任意のポインタ?

役に立ちましたか?

解決

できるモデル-ビュー-コントローラー又はモデルビューの演タイプの建築を使用せずにフルブの枠組みまたユニットテストuiコンポーネントは難しいです。る方法があり周りがきいていないのかもしれませんいる。通常、このテストの非常にハードの維持、保守悪夢のあるもののプログラマでない:-)

してみては別の機能をお試したいと思い、"コントローラー"や"報告者"クラスです。そして試験するクラスです。になるよう、テストは非表示にすることができるusercontrolクラスのビューの背景にあるインターフェースのコントローラーまたは講演者の話のアプローチを通してのインタフェース。ることができるモックアップのビュー。

ることで、だいぶ変わりましたねのような作業だと思われ回避策がまずこのコンディションに慣れで楽素敵な建築することで変更ui活動しています。きものスタートアップ企業"リアル"mvc枠組みき当が必要です)

他のヒント

Uesの assembly:InternalsVisibleTo 属性とことができるでしょうからアクセスする個人会員とする。

に入れておwebcontrolプロジェクトの AssemblyInfo.cs特性 ノード)

[assembly:InternalsVisibleTo("YourTestProjectName")]

探していますが最大の痛点ASP.NET.どは封印し、日本語プライベートクラスを阻害するユニットテスト。

この主な理由であるTDDの人が利用可能枠組み(ASP.NET MVC、城はモノレール)が行うことを定めたもので、これを明確に分離に使用可能からビューのテンプレートとコントローラル。のコントローラーが完全にテスト容易化.

きものを見て試験部品のブラウザとしてユーザとして使用テスティングフレームワークなどの WebAii.んで、そして面白い。んでもってできるプラグインで自動化を構築んなことをしています。

希望です...

この 古い記事によるもので、使っていたNUnitASP書途試験asp.net WebControls2004年.この記事を詳しくば試験の簡単な制御用のコンセプトを作成する"テスター"クラスカプセル化の内容を制御す。テスターできる)ものを組合せることにより、高コントロールで共有できるものとして(例えばユーティリティ関数、定数など)。

を使用した技術、およびその他の異の技術)は今日の試験でも高度な制御できます。

いることがあります。

のMVC枠組みに上記の試験の制御ます。しかし試験方法では少し異なります。

これは全くのカフェができ、ユーザー制御な一部の保護方法や性質に帰検証情報として試験ユーザーの管理を継承します。このコントロールの読み込み分野を押すと、ボタンのどこですか?のような汚ができます。

選択することもできますこの サイIgloo 枠組みで妥協MVC枠組みのケ.

Ivonna 試すことができWebControlsコミュニケーションの内Asp.Net 文脈 を押してください。GetControl("。ascx")および検証することで必要なすべての物件です。

でテストするようになります:

[Test]
public void ConditionQueryBuilderTest_RendersProperHtml()
{
    var sw = new StringWriter();
    var queryBuilder = new ConditionQueryBuilderStub
    {
        ID = "UnitTestbuilder",
        QueryBuilderURL = @"\SomeAspxPage\SomeWebMethod",
        ResetQueryBuilderURL = @"\SomeAspxPage\OnQueryBuilderReset",
        FilterValuesCollection = new Dictionary<int, string> { {15, "Some Condition"}}
    };
    queryBuilder.RenderAllContents(new HtmlTextWriter(sw));

    AppendLog(sw.ToString());

    Assert.AreEqual(ExpectedHtml, sw.ToString()); // ExpectedHTML is the raw expected HTML
}

ここが私のスタブ:

internal class ConditionQueryBuilderStub : ConditionQueryBuilder // ConditionQueryBuilder is a WebControl
{
    internal void RenderAllContents(HtmlTextWriter writer)
    {
        RenderContents(writer);
    }
}
ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top