2012-11-05 59 views
1

我有以下NUnit代码。我正在[SetUp]中使用switch case语句安装程序不适用于NUnit

在测试运行之前,预计将数据插入数据库;但它不插入数据。这里需要纠正哪些问题?

参考:

  1. https://softwareengineering.stackexchange.com/questions/173651/nunit-setup-and-teardown

CODE

 [SetUp] 
    public void TestSetUp() 
    { 
     switch (TestContext.CurrentContext.Test.FullName) 
     { 
      case "GetApplicationsTest": 
       GetApplicationsTestSETUPHElper(); 
       break; 

      case "DeleteApplicationTest": 
       GetApplicationsTestSETUPHElper(); 
       break; 

     } 


    } 

    private void GetApplicationsTestSETUPHElper() 
    { 
     SqlConnection connection = new SqlConnection(connectionString); 
     using (connection) 
     { 
      string commandText = "INSERT INTO Status_Type VALUES (889,'s2','UT s2')"; 
      SqlCommand command = new SqlCommand(commandText, connection); 
      command.CommandType = System.Data.CommandType.Text; 
      connection.Open(); 
      command.ExecuteNonQuery(); 
     } 
    } 

    private void DeleteApplicationTestSETUPHElper() 
    { 
     SqlConnection connection = new SqlConnection(connectionString); 
     using (connection) 
     { 
      string commandText = "INSERT INTO Status_Type VALUES (890,'s3','UT s3')"; 
      SqlCommand command = new SqlCommand(commandText, connection); 
      command.CommandType = System.Data.CommandType.Text; 
      connection.Open(); 
      command.ExecuteNonQuery(); 
     } 
    } 

    [Test] 
    public void GetApplicationsTest() 
    { 

     ApplicationBL application = new ApplicationBL(connectionString); 
     ApplicationSearch applicationSearch = new ApplicationSearch(); 
     applicationSearch.ApplicationID = 1; 
     //applicationSearch.ApplicationName = "Test1"; 
     //applicationSearch.ApplicationURL = "Test1"; 
     //applicationSearch.StatusCode = 1; 
     Collection<Application> applications = application.GetApplications(applicationSearch); 
    } 

    [Test] 
    public void DeleteApplicationTest() 
    { 

     ApplicationBL application = new ApplicationBL(connectionString); 
     ApplicationSearch applicationSearch = new ApplicationSearch(); 
     applicationSearch.ApplicationID = 1; 
     //applicationSearch.ApplicationName = "Test1"; 
     //applicationSearch.ApplicationURL = "Test1"; 
     //applicationSearch.StatusCode = 1; 
     Collection<Application> applications = application.GetApplications(applicationSearch); 
    } 

回答

2
TestContext.CurrentContext.Test.FullName 

是测试的完全合格的名称,而不只是函数名,你有它在代码,所以修复应该是把你的测试的完全合格的名称个案陈述。

+0

谢谢。工作。 (名称空间+ ClassName + MethodName) – Lijo

相关问题