দেখে মনে হচ্ছে যে মকিতো কোনও মোক উপকরণের কোনও পদ্ধতি কল করা এবং মক অবজেক্টের সর্বদা এর মতো কিছু রয়েছে কিনা তা যাচাই করে doReturn().when(mock object)
তবে আমি কি কোনও মক অবজেক্ট তৈরি করে সংজ্ঞা দিতে পারি doReturn().when(mock object)
এবং তারপরে অন্য কোনও অবজেক্টের একটি পদ্ধতি বলা হয় তা যাচাই করতে পারি ?
আমি যা করতে চাই তা এখানে: আমি একটি মক এনভায়রনমেন্ট সংজ্ঞায়িত করি এবং যাই ঘটুক না কেন প্রতিক্রিয়া ফিরিয়ে দিই। তবে আমি অন্য ওবিজেডের বিভিন্ন পদ্ধতি বিভিন্ন ক্ষেত্রে যাচাই করতে চাই।
কিভাবে যে কি?
public class BaseClass {
private Environment mockEnvironment;
@Test
public void testcase () {
setMockitoEnvironment();
response = foo(mockEnvironment, argument1);
verify(anotherObj).codePath1(...);
response = foo(mockEnvironment, argument2);
verify(anotherObj).codePath2(...);
}
}
//this method successfully return a response with any input
//because I do not care how response is eventually generated,
//I only care whether code path reaches createResponse() via
//code path 1 or code path 2.
private void setMockitoEnvironment() {
mockEnvironment = mock(Environment.class);
doReturn (response).when(mockEnvironment).createResponse(for any input);
}
private Response foo(...) {
...
return createResponse(...);
}