Вот примеры интерфейсов и поддерживающих классов, которые можно использовать.
я есть класс модели Employee и консольный клиент.
Класс работника: -
public class Employee
{
public int EmployeeId { get; set; }
public string FirstName { get; set; }
public string LastName { get; set; }
public int Age { get; set; }
public int phoneNumber { get; set; }
public Employee()
{
}
public Employee(string fname,string lname,int age,int phone)
{
this.FirstName = fname;
this.LastName = lname;
this.Age = age;
this.phoneNumber = phone;
}
public void InsertEmployee()
{
SqlConnection con = new SqlConnection("sqlconnection");
SqlCommand cmd = new SqlCommand("sp_insert", con);
cmd.CommandType = CommandType.StoredProcedure;
cmd.Parameters.AddWithValue("fname", this.FirstName);
cmd.Parameters.AddWithValue("lname", this.LastName);
cmd.Parameters.AddWithValue("age", this.Age);
cmd.Parameters.AddWithValue("phoneno",this.phoneNumber);
con.Open();
cmd.ExecuteNonQuery();
con.Close();
}
public List<Employee> GetAllEmployees()
{
SqlConnection connection = new SqlConnection("sqlconnection");
SqlCommand cmd = new SqlCommand("GetAllEmployees", connection);
cmd.CommandType = System.Data.CommandType.StoredProcedure;
connection.Open();
SqlDataReader dr = cmd.ExecuteReader();
L,ist<Employee> employeeList = new List<Employee>();
while (dr.Read())
{
Employee emp = new Employee();
emp.EmployeeId = int.Parse(dr["empID"].ToString());
emp.FirstName = dr["fname"].ToString();
emp.LastName = dr["lname"].ToString();
emp.Age= int.Parse(dr["age"].ToString());
emp.phoneNumber= int.Parse(dr["phone"].ToString());
employeeList.Add(emp);
}
return employeeList;
}
}
******Client code****
class Program
{
static void Main(string[] args)
{
Employee newEmp = new Employee("Ram", "Prem", 30, 90000007);
newEmp.InsertEmployee();
List<Employee> empList = newEmp.GetAllEmployees();
}
}
********************
Приведенный выше код работает, и это нормально.
Теперь мне сказали написать метод тестирования Nunit для метода Insert и метода fetch.
Как я могу написать метод тестирования NUnit для вставки со следующими условиями: -
1) Как убедиться, что введенное значение было вставлено в базу данных. Не должно быть ручной проверки. Это должно быть частью теста Nunit.
2) В случае, если в таблицу введен новый столбец.
В модели Employee добавлено свойство City, и в качестве параметра передается параметр City.
Допустим, в таблицу добавлен новый столбец City Nullable, а в хранимой процедуре Insert разработчик не добавил новый столбец в оператор вставки, но в процедуру добавлен параметр City.
В приведенном выше сценарии, как Nunit test будет идентифицировать эту ошибку (то есть Город не вставлен в таблицу?
Как написать метод тестирования Nunit для тестирования с вышеуказанными условиями?