テスト駆動開発にもっと慣れようとしています。これまでのところ、いくつかの簡単な例を見てきましたが、たとえば DAL の次のメソッドのような複雑なロジックにアプローチするにはまだ問題があります。
public static void UpdateUser(User user)
{
SqlConnection conn = new SqlConnection(ConfigurationSettings.AppSettings["WebSolutionConnectionString"]);
SqlCommand cmd = new SqlCommand("WS_UpdateUser", conn);
cmd.CommandType = CommandType.StoredProcedure;
cmd.Parameters.Add("@UserID", SqlDbType.Int, 4);
cmd.Parameters.Add("@Alias", SqlDbType.NVarChar, 100);
cmd.Parameters.Add("@Email", SqlDbType.NVarChar, 100);
cmd.Parameters.Add("@Password", SqlDbType.NVarChar, 50);
cmd.Parameters.Add("@Avatar", SqlDbType.NVarChar, 50);
cmd.Parameters[0].Value = user.UserID;
cmd.Parameters[1].Value = user.Alias;
cmd.Parameters[2].Value = user.Email;
cmd.Parameters[3].Value = user.Password;
if (user.Avatar == string.Empty)
cmd.Parameters[4].Value = System.DBNull.Value;
else
cmd.Parameters[4].Value = user.Avatar;
conn.Open();
cmd.ExecuteNonQuery();
conn.Close();
}
この方法の適切な TDD プラクティスは何ですか?