Plateforme Level Extreme
Abonnement
Profil corporatif
Produits & Services
Support
Légal
English
Is there a way to conditionally exclude a test?
Message
De
07/03/2013 16:41:14
 
 
Information générale
Forum:
ASP.NET
Catégorie:
Test et débogage
Versions des environnements
Environment:
C# 4.0
OS:
Windows 7
Network:
Windows 2003 Server
Database:
MS SQL Server
Divers
Thread ID:
01567786
Message ID:
01567810
Vues:
41
Here does middleware get instantiated?

>Here is how I have this test setup right now:
>
>
>private void PrepareCloseDrawersForTest(String cSalespoint, String cOperator, Boolean changePreferences = false)
>      {
>         String cSQL = @"IF NOT EXISTS (SELECT 1 FROM dbo.sale_hdr WHERE salespoint = @salespoint AND operator = @operator)
>UPDATE top (10) dbo.sale_hdr SET closeout = 0 WHERE salespoint = @salespoint AND operator = @operator;
>";
>         
>         if (changePreferences)
>            cSQL = "UPDATE dbo.prefs_sl SET closedrwrs=3;" + cSQL;
>         else
>            cSQL = "UPDATE dbo.prefs_sl SET closedrwrs=2;" + cSQL;
>
>         using (SqlCommand sqlCommand = new SqlCommand(cSQL, middlewareMain.database.sqlConnection))
>         {
>            sqlCommand.Parameters.Add("@salespoint", System.Data.SqlDbType.Char, 6).Value = cSalespoint;
>            sqlCommand.Parameters.Add("@operator", System.Data.SqlDbType.Char, 6).Value = cOperator;
>            sqlCommand.ExecuteNonQuery();
>         }
>      }
>
>      [TestMethod]
>      public void S_CloseDrawerNoClose1()
>      {
>         SalesUnitTest.isClassInitialized = false; // Need to re-initialize
>         SalesUnitTest.ClassInit(null);
>         PrepareCloseDrawersForTest("TICKET", "ADMIN");
>         
>         String input = @"<FUNC>CloseDrawer</FUNC><TCSALESPOINT>TICKET</TCSALESPOINT><TCOPERATOR>ADMIN</TCOPERATOR>
>                  <TCDETAILS><STOCK_T1_S1>2</STOCK_T1_S1><STOCK_T1_E1>37</STOCK_T1_E1></TCDETAILS><tcNoClose>YES</tcNoClose>";
>         String result = middlewareMain.Invoke(input);
>
>         String expected = "<ERR>0</ERR><STATUSCODE>0</STATUSCODE><MSG>106 sales to close out</MSG>";
>         Assert.IsTrue(String.Equals(expected, result, StringComparison.OrdinalIgnoreCase), result);
>      }
>
>      [TestMethod]
>      public void S_CloseDrawerNoClose2()
>      {
>         SalesUnitTest.isClassInitialized = false; // Need to re-initialize
>         SalesUnitTest.ClassInit(null);
>         PrepareCloseDrawersForTest("TICKET", "ADMIN", true);
>
>         String input = @"<FUNC>CloseDrawer</FUNC><TCSALESPOINT>TICKET</TCSALESPOINT><TCOPERATOR>ADMIN</TCOPERATOR>
>                  <TCDETAILS><STOCK_T1_S1>2</STOCK_T1_S1><STOCK_T1_E1>37</STOCK_T1_E1></TCDETAILS><tcNoClose>YES</tcNoClose>";
>         String result = middlewareMain.Invoke(input);
>
>         String expected = "<ERR>0</ERR><STATUSCODE>0</STATUSCODE><MSG>497 sales to close out</MSG>";
>         Assert.IsTrue(String.Equals(expected, result, StringComparison.OrdinalIgnoreCase), result);
>      }
>
>No close parameter means I am not performing the actual closeout but finding how many sales I need to close out.
>
>I understand that these tests are data dependent. Right now 497 and 106 are the values I need. So, if right now these two tests return that information, I can tell that my procedure is doing what it is supposed to do. In the long run these numbers can change.
>
>What you suggest for the above scenario?
Craig Berntson
MCSD, Microsoft .Net MVP, Grape City Community Influencer
Précédent
Suivant
Répondre
Fil
Voir

Click here to load this message in the networking platform