Come scrivere test unitari senza dati di simulazione

2

Il mio design non mi permette di prendere in giro i dati, quindi sto usando sqlite come database di test che ha dati minimi per eseguire i test unitari. Di seguito è riportato lo pseudo codice

//Method to be tested
public IList<Funds> GetFunds()
{    
  List<Funds> objFundsList = //gets two records from sqlite db;
  return objFundsList;
}


//Test Method
public void Check_If_Get_Funds_Returns_List_of_Funds()
{
      FundsService obj = new FundsService();
      var lstFunds =   obj.GetFunds();
      Assert.AreEqual(2,lstFunds.Count());
      //Do I need to get first item here to check if bindings for fund is successful
      var fund = obj.GetFunds().First();
      Assert.AreEqual("test",fund.Name);
}

Dato che non sto usando oggetti mock in memoria, non posso fare sequenceequal. In questo scenario, quali altri test posso includere.

    
posta Sunny 02.04.2013 - 05:01
fonte

1 risposta

0

Se l'ordine del set di risultati non è definito dall'implementazione, sarà necessario scrivere un'asserzione che non dipende dall'ordine dei risultati. CollectionAssert.AreEquivalent è uno di questi metodi. Ecco un esempio:

// I'm assuming that you've written a helper method to get each fund's name
var actualNames = GetFundNamesFrom(obj);
var expectedNames = ["test1", "test2"];
CollectionAssert.AreEquivalent(expectedNames, actualNames);
    
risposta data 12.06.2013 - 05:00
fonte

Leggi altre domande sui tag