0

Pex を使用して次のコードの単体テストを行いたい:

    private string GetOriginalFieldName(string p)
    {
        var strMapField = string.Empty;
        foreach (GridViewRow row in gdFields.Rows)
        {
            var strOriginal = row.Cells[0].Text;
            var txt = (TextBox)row.Cells[1].FindControl("txt");
            switch (string.Compare(p, strOriginal, true))
            {
                case 0:
                    if (txt.Text != null) return txt.Text;
                    break;
                default:
                    if (string.Compare(p, strOriginal + ":", true) == 0)
                    {
                        if (txt.Text != null) return txt.Text;
                    }
                    else
                    {
                        strMapField = p;
                    }
                    break;
            }
        }
        return strMapField;
    }

この関数は、グリッドビューの行からテキストを検索し、入力文字列をグリッドビューのマップフィールドに置き換えます。

Pex を使用して単体テストを行う方法は?

4

1 に答える 1

1

テストが機能するためにインスタンス化する必要がある GridView ( ) のインスタンスがあるため、このタイプの単体テストでは PEX を使用できないと思いますgdFields。この場合、GridView コントロールの偽のインスタンスを作成できる分離フレームワークであるMolesを確認することをお勧めします。

どういうわけか、コードを .csv なしで実行するには、偽のテキストボックスなどを使用して偽の GridView を作成する必要がありますNullReferenceException

今、私はほくろの経験がないので、それで偽の GridView を作成できると 100% 言うことはできませんが、確かに見てください。ただし、PEX と Moles はうまく連携します。

于 2011-11-18T10:37:20.153 に答える