2010-01-03 7 views
0

여러분, 방법에 대한 테스트 케이스 작성에 익숙하지 않습니다. 여기에는 NUnit 테스트 프레임 워크를 사용하여 테스트 케이스를 작성하려는 InsertMethod가 있습니다. 아래 메서드에 대한 테스트 케이스 작성시 도움을 받으십시오.NUnit을 사용한 테스트 케이스

public bool insertUser (String FirstName, String LastName) { bool result = false;

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

+1

그래서 코드를 작성 하시겠습니까? –

+4

당신은 이것을 잘못된 길로 생각하고 있습니다. 기존 코드에 대해 생각하지 마십시오. 테스트하고 싶은 것을 생각해보십시오. 그래서 무엇을 시험하고 싶습니까? – Cellfish

+1

단위 테스트는 데이터베이스 관련 작업에 적합하지 않습니다. –

답변

1

Cellfish는 권리입니다. 코드에 대해 생각하지 말고, 메소드가 무엇을해야하는지 생각해보십시오. 심지어 코드를 보지 않고, 나는 이런 종류의 테스트를 할 거라고 :

lastName = "LastName" 
firstName = "FirstName" 

그런 다음 이름 및 성을 가진 사용자를 가져 오기 위해 노력하고 있이 아니다 있는지 확인

1 준비.

2

InsertUser(firstName, lastName) 

3 확인

  • 확실 InsertUser가 올바른에 있다는 것을 이름 및 성을 가진 사용자를 가져오고 있는지 확인하는 진정한
  • 시도를 반환합니다 실행 값.
+0

'true'리턴 경로를 테스트합니다. '거짓'경로를 테스트하려면 이미 데이터베이스에있는 사용자를 삽입하십시오. – Pedro

+0

네 말이 맞아! 정밀도에 감사드립니다. –