Ich benutze Mockito zum ersten Mal und ich frage mich, was der Unterschied zwischen when(dao.create(order)).thenThrow(new SQLException());
und when(dao.create(order)).thenThrow(SQLException.class);
ist. Beide scheinen gut zu laufen und ich kann nichts darüber in der Mockito API finden.Mockito: Unterschied zwischen thetThrow (Exception.class) und thetTrow (new Exception())
Der einzige Unterschied, den ich mir vorstellen kann, ist, dass Sie bei der Verwendung von new SQLException()
Argumente im Konstruktor eingeben können. Ist es das?
Also, warum SQLException.class existiert? Es ist dasselbe wie neue SQLException() ohne Argumente. Oder gibt es einen bestimmten Grund dafür? –
Es ist eine Abkürzung des Anrufs. Daher haben thetThrow (SQLException.class) und thenThow (new SQLException()) die gleiche Bedeutung. Der erste Fall erwartet immer den Standardkonstruktor (Konstruktor ohne Parameter) der angegebenen Expo- nitionsklasse. –
@MartinStrejc OK, also ist es nur eine Abkürzung. Ich habs. –