Mockito - überprüfen Sie, ob ein double-Wert

Habe ich eine Methode method1, nimmt ein Doppel -, die aufgerufen wird, auf myManager
Ich leite in dieser 65.888 * 60. Wenn ich versuche dies überprüfen, ich bekomme floating-point-Probleme. Die überprüfung fehlschlägt. Es erwartet 3953.28 aber 3953.280029296875

verify(myManager, times(1)).method1(65.888 * 60d);

Gibt es trotzdem kann ich dieses überprüfen, tun ein fuzzy-check für floating-point-Prüfung. Viel wie Sie tun, mit assertEquals wo geben Sie ein delta am Ende.

Dank

  • Nicht sicher, aber wie in der api angegeben überprüfen, nicht eine Kontrolle über das Ergebnis. Überprüfen Sie nicht nur: Überprüft ein bestimmtes Verhalten einmal passiert. Also, wo ist der code, den Sie sind, den Vergleich der tatsächlichen und den erwarteten Wert?
  • Es ist mockito, das tut der Vergleich. Es ist zu überprüfen, dass die Methode aufgerufen wird, mit x, sondern von y (wegen der floating-point-problem). Die überprüfung erfolgt irgendwo im code mockito
  • Könnten Sie das ganze test-Fall. Weil, normalerweise gibt es einen deutlichen Unterschied. Setzt man einen Wert (test-Status), und überprüfen Sie die Anrufung geschah (test-Interaktion). Man könnte auch schreiben verify(myManager, times(1)).method1(anyDouble());
InformationsquelleAutor RNJ | 2013-05-02
Schreibe einen Kommentar