Avatar billede jaffafo Nybegynder
20. november 2008 - 10:26 Der er 7 kommentarer og
1 løsning

Unit Testing på objekter i VS2008

Hej

jeg skal have lavet nogle tests på nogle objecter. Jeg bruger Visual Studio 2008 egen Unit Testing.

Mere nøjagtigt bruger jeg Assert.AreEqual<>

Pt. ser test-koden således ud:

[TestMethod()]
public void StoreRecommendationTest1()
{
  Suggestion actual = new Suggestion(4, 2, 1, DateTime.Now, "´link", 1);
  Suggestion expected = DataAccessLayer.GetSuggestion(4, 2, 1);

  Assert.AreNotEqual<Suggestion>(actual, expected);
  DataAccessLayer.StoreRecommendation(actual);

  expected = DataAccessLayer.GetSuggestion(4, 2, 1);
  Assert.AreEqual<Suggestion>(actual, expected);
}


DataAccessLayer.GetSuggestion() - Returnerer et Suggestion objekt
DataAccessLayer.StoreRecommendation() - Gemmer dataen i et Suggestion objekt i databasen

Mit problem er at testen failer, dvs. at Assert.AreEqual<> siger at objekterne IKKE er ens, men det bør de være. Nogen der har en íde til hvad det kan være som går galt?
Avatar billede wisen Nybegynder
20. november 2008 - 10:56 #1
Hvis "Suggestion" klassen er een du selv har defineret, skal du også fortælle hvordan de skal sammenlignes - ved bla. at implementere '==' operatoren.

Se http://msdn.microsoft.com/en-us/library/53k8ybth(VS.80).aspx

/Wisen
Avatar billede jaffafo Nybegynder
20. november 2008 - 11:27 #2
Jeg bruger Assert.AreEqual<Suggestion>(Object actual, Object expecte) til at sammenligne.
Avatar billede ladyhawke Novice
20. november 2008 - 11:33 #3
ja, men har du implementeret '==' operatoren for den klasse?
Avatar billede wisen Nybegynder
20. november 2008 - 11:52 #4
.. ellers sammenligner den to Objects istedet for to Suggestions - og de to instanser er ikke ens, derfor fejler "AreEqual"
Avatar billede jaffafo Nybegynder
20. november 2008 - 11:55 #5
aha..  nu forstår jeg det bedre..

hvordan implementerer man det i klassen?
Avatar billede wisen Nybegynder
20. november 2008 - 12:11 #6
Prøv at kigge her http://msdn.microsoft.com/en-us/library/s53ehcz3(VS.80).aspx
Avatar billede wisen Nybegynder
20. november 2008 - 13:07 #7
...smider lige et svar :)
Avatar billede wisen Nybegynder
20. november 2008 - 16:15 #8
... takker for point :)
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
IT-kurser om Microsoft 365, sikkerhed, personlig vækst, udvikling, digital markedsføring, grafisk design, SAP og forretningsanalyse.

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester