【问题标题】:Testcase using NUnit使用 NUnit 的测试用例
【发布时间】:2010-01-03 05:42:59
【问题描述】:

伙计们,我是为方法编写测试用例的新手。在这里,我有一个 InsertMethod,我想使用 NUnit 测试框架为其编写测试用例。帮助我为以下方法编写测试用例:

public bool insertUser(String FirstName, String LastName) { 布尔结果 = 假;

    SqlConnection myconn = new SqlConnection();
    SqlCommand mycmd = new SqlCommand();

    try
    {
        myconn.ConnectionString = "Data Source=BABU-PC;Initial Catalog=contacts;Integrated Security=True";

        myconn.Open();

        mycmd.Connection = myconn;
        mycmd.CommandText = "InsertUser";
        mycmd.CommandType = CommandType.StoredProcedure;


        SqlParameter param1 = new SqlParameter();
        param1.ParameterName = "@FirstName";
        param1.DbType = DbType.AnsiString;
        param1.Size = 8000;
        param1.Value = FirstName;
        mycmd.Parameters.Add(param1);


        SqlParameter param2 = new SqlParameter();
        param2.ParameterName = "@LastName";
        param2.DbType = DbType.AnsiString;
        param2.Size = 8000;
        param2.Value = LastName;
        mycmd.Parameters.Add(param2);

        int i = 0;

        i = mycmd.ExecuteNonQuery();

        if (i > 0)
        {
            result = true;
        }
        else
        {
            result = false;
        }


    }

    catch (Exception err)
    {
        Console.WriteLine(err.Message.ToString());

        return false;
    }

    finally
    {
        mycmd.Dispose();
        myconn.Close();
        myconn = null;

    }
    return result;
}

谢谢

SBM

【问题讨论】:

  • 所以您希望我们为您编写代码?
  • 你想错了。不要考虑您现有的代码。想想你想测试什么。那么你想测试什么?
  • 单元测试对于数据库相关的任务不是很好。
  • 因为代码有多个路径,所以需要多个测试用例才能完整测试。

标签: nunit


【解决方案1】:

Cellfish 是对的。不要考虑代码,考虑方法应该做什么。甚至不看你的代码,我都会做这样的测试:

1- 准备

lastName = "LastName"
firstName = "FirstName"

然后尝试使用 firstName 和 lastName 获取用户,并确保它不存在。

2-执行

InsertUser(firstName, lastName)

3-检查

  • 确保 InsertUser 返回 true
  • 尝试获取具有 firstName 和 lastName 的用户,并确保该用户具有正确的值。

【讨论】:

  • 这会测试“真实”返回路径。要测试“假”路径,请尝试插入数据库中已有的用户。
猜你喜欢
  • 1970-01-01
  • 2017-08-13
  • 2015-07-26
  • 1970-01-01
  • 1970-01-01
  • 2018-08-23
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多