2

私はこれについていくつか質問しましたが、答えが見つかりませんでした(またはおそらく何をすべきか理解していませんか?)。

ユーザーテストからの返信を待っているアプリがあります。その間に、私はTestProjectを作成し、すべての側面をテストするように依頼されました。これは、私たちのグループが目指していることです。アプリはC#、aspx.netで記述されています。

私はそれのほとんどを終えました。しかし、2つの側面をテストする方法を完全に理解することはできません。(a)セッション変数と(b)Request.Formデータを取得するメソッドがあります。

モックについて私が見つけたものはすべて、MVCアーキテクチャを中心に展開しているようです。私が(ここで)尋ねた最初の質問は、「HttpRequestBaseを取得するようにメソッドを変更する」必要があると述べました。コードを変更することは一切ありません(学生の配置)。

フォーム/セッションデータを単体テストに提供するにはどうすればよいですか?これに固有のものは見つかりません。

新しくて吸います。

ありがとう!

編集::

申し訳ありませんが、私はMoqを持っていますが、何かが足りません。

これがセッションコードです。それは1つの場所(1セットのテスト)にのみありますが、Request.Formのインスタンスは約7または8にあります。...

protected void Page_Load(object sender, EventArgs e)
{
    //get the "Storage" location
    String strStorage = Path.To.Default.Storage;

    XDocument xmlDoc = XDocument.Load(Path.Combine(strStorage, "pending/") + Request.Form["thing"] + ".xml");
    Session["Files"] = "";
    foreach (XElement element in xmlDoc.Elements().Elements())
    {
        if (element.Name.ToString() != "File")
        {
            Session[element.Name.ToString()] = element.Value.ToString();
        }
        else
        {
            Session["Files"] = Session["Files"] + element.Value.ToString() + ";";
        }
    }

}
4

1 に答える 1

2

セットアップの実行については、ここにある2番目の回答をご覧ください。

Moqを使用してセッションオブジェクトコレクションをどのようにモックしますか

controllerContext.SetupGet(p => p.HttpContext.Session["test"]).Returns("Hello World");

Moqとのこれらの線に沿った何かが、セッションのものを制御できるようになるかどうかを確認してください。しかし、いくつかのサンプルコードが役立つでしょう。あなたの会社が最も関心を持っていることを念頭に置いて、名前などを変更してください。

于 2012-06-21T18:58:13.310 に答える