TAMBAHAN: Seperti yang dinyatakan oleh jawaban lain, tujuannya .Verifiableadalah untuk mendaftarkan Setupsatu 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
Verifypanggilan 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 ).