Apakah ada cara untuk memverifikasi jika a methodOne
dipanggil sebelumnya methodTwo
di Mockito?
public class ServiceClassA {
public void methodOne(){}
}
public class ServiceClassB {
public void methodTwo(){}
}
public class TestClass {
public void method(){
ServiceClassA serviceA = new ServiceClassA();
ServiceClassB serviceB = new ServiceClassB();
serviceA.methodOne();
serviceB.methodTwo();
}
}
java
unit-testing
mockito
kemari
sumber
sumber
inOrder.verifyNoMoreInteractions();
setelah verifikasi terakhir dalam contoh ini untuk memverifikasi bahwa tidak ada panggilan lain yang dibuat.inOrder(firstMock, secondMock)
daninOrder(secondMock, firstMock)
? Mungkin Anda dapat memperbarui jawabannya untuk membuat catatan tentang ini.Perhatikan bahwa Anda juga dapat menggunakan kelas InOrder untuk memverifikasi bahwa berbagai metode dipanggil secara berurutan, bukan hanya pada dua atau lebih mengejek.
Misalkan saya memiliki dua kelas
Foo
danBar
:Saya kemudian dapat menambahkan kelas tes untuk menguji bahwa
Bar
'sfirstThenSecond()
metode benar-benar memanggilfirst()
, makasecond()
, dan tidaksecond()
, kemudianfirst()
. Lihat kode tes berikut:sumber
find('foo')
, lalufind('bar')
doNothing()
Ya, ini dijelaskan dalam dokumentasi. Anda harus menggunakan kelas InOrder .
Contoh (dengan asumsi dua ejekan sudah dibuat):
sumber
Dengan BDD itu
sumber