TAMBAHAN: Seperti yang dinyatakan oleh jawaban lain, tujuannya .Verifiable
adalah untuk mendaftarkan Setup
satu set " Verify(...)
panggilan yang ditangguhkan " yang kemudian dapat dipicu melalui mock.Verify()
.
Klarifikasi OP memperjelas bahwa ini adalah tujuannya dan satu-satunya masalah adalah mencari tahu mengapa itu tidak berhasil, tetapi seperti yang didorong oleh @Liam, jawabannya juga harus benar-benar menyentuh ini: - Kasus penggunaan utama sejauh yang saya bisa lihat adalah:
- menjaga KERINGAN antara a
mock.Setup()
danmock.Verify
- mengizinkan seseorang untuk memutuskan konfigurasi verifikasi dari
Verify
panggilan sebenarnya itu sendiri (misalnya, Anda dapat mengaturnya di metode pembantu lain)
... dan kembali ke jawaban saya, yang secara singkat mengatakan "berhati-hatilah karena para profesional di atas biasanya dianggap kalah oleh pengaruh pencapaian tujuan tersebut terhadap keterbacaan dan pemeliharaan tes yang terlalu mengandalkan konstruksi seperti itu"
ASLI: Perhatikan bahwa jika memungkinkan, seseorang harus mengikuti tata letak AAA dan karenanya seseorang harus melakukan mock.Verify( expression )
panggilan eksplisit setelah pekerjaan selesai, daripada mock.Setup( ... ).Verifiable()
dipasangkan dengan a mock.Verify()
atau dimock.VerifyAll()
mana pun memungkinkan (kredit: @kzu ).