我正在尝试更加熟悉测试驱动开发。到目前为止,我已经看到了一些简单的示例,但是在处理复杂逻辑时仍然遇到问题,例如我的 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 实践?