প্রয়োজনীয় পদ্ধতিটি হ'ল মকিতো # যাচাই করুন :
public static <T> T verify(T mock,
VerificationMode mode)
mock
আপনার উপহাসকৃত বস্তু এবং mode
এটি VerificationMode
যা মক কীভাবে যাচাই করা উচিত তা বর্ণনা করে। সম্ভাব্য মোডগুলি হ'ল :
verify(mock, times(5)).someMethod("was called five times");
verify(mock, never()).someMethod("was never called");
verify(mock, atLeastOnce()).someMethod("was called at least once");
verify(mock, atLeast(2)).someMethod("was called at least twice");
verify(mock, atMost(3)).someMethod("was called at most 3 times");
verify(mock, atLeast(0)).someMethod("was called any number of times"); // useful with captors
verify(mock, only()).someMethod("no other method has been called on the mock");
পদ্ধতি এবং এই যাচাইকরণের পদ্ধতিগুলি Mockito
ব্যবহার করার জন্য আপনার ক্লাস থেকে এই স্থিতিশীল আমদানিগুলির প্রয়োজন হবে verify
:
import static org.mockito.Mockito.atLeast;
import static org.mockito.Mockito.atLeastOnce;
import static org.mockito.Mockito.atMost;
import static org.mockito.Mockito.never;
import static org.mockito.Mockito.only;
import static org.mockito.Mockito.times;
import static org.mockito.Mockito.verify;
সুতরাং আপনার ক্ষেত্রে সঠিক বাক্য গঠনটি হ'ল:
Mockito.verify(mock, times(4)).send()
এই যাচাই করে জানাচ্ছেন যে পদ্ধতি send
বলা হয় 4 ব্যঙ্গ বস্তুর উপর বার। এটি ব্যর্থ হবে যদি 4 বারের বেশি বা বেশি বলা হয়।
আপনি যদি কেবল পরীক্ষা করতে চান, যদি পদ্ধতিটি একবার কল করা হয়, তবে আপনাকে পাস করার দরকার নেই VerificationMode
। সাধারন
verify(mock).someMethod("was called once");
যথেষ্ট হবে। এটি অভ্যন্তরীণভাবে ব্যবহার করে verify(mock, times(1)).someMethod("was called once");
।
"মধ্যবর্তী" যাচাইকরণের জন্য একই উপহাসে একাধিক যাচাইকরণ কল করা সম্ভব। মকিতো এ জাতীয় কিছু সমর্থন করে না verify(mock, between(4,6)).someMethod("was called between 4 and 6 times");
, তবে আমরা লিখতে পারি
verify(mock, atLeast(4)).someMethod("was called at least four times ...");
verify(mock, atMost(6)).someMethod("... and not more than six times");
পরিবর্তে, একই আচরণ পেতে। সীমা অন্তর্ভুক্ত করা হয় , সুতরাং পরীক্ষার ক্ষেত্রে সবুজ হয় যখন পদ্ধতিটি 4, 5 বা 6 বার বলা হয়েছিল।
Mockito.verify(mock, times(4)).send()
। আমি অবাক হয়েছি কেন আপনিsend()
পদ্ধতির কলটির ভিতরে পদ্ধতির কলটি "সরিয়ে নিয়েছেন"verify
। আপনার কাছে ইতিমধ্যে সঠিক বাক্য গঠন রয়েছে।