ফাংশন আর্গুমেন্টের মানগুলি ক্যাপচার করার জন্য আমি মকিতো পাওয়ার কোনও ভাগ্য পাচ্ছি না! আমি একটি অনুসন্ধান ইঞ্জিন সূচককে উপহাস করছি এবং একটি সূচি তৈরির পরিবর্তে, আমি কেবল একটি হ্যাশ ব্যবহার করছি।
// Fake index for solr
Hashmap<Integer,Document> fakeIndex;
// Add a document 666 to the fakeIndex
SolrIndexReader reader = Mockito.mock(SolrIndexReader.class);
// Give the reader access to the fake index
Mockito.when(reader.document(666)).thenReturn(document(fakeIndex(666))
আমি নির্বিচারে তর্কগুলি ব্যবহার করতে পারি না কারণ আমি প্রশ্নের ফলাফলগুলি পরীক্ষা করছি (অর্থাত্ তারা যে দস্তাবেজগুলি ফিরে আসে)। তেমনি, আমি প্রতিটি দস্তাবেজের জন্য একটি নির্দিষ্ট মান নির্দিষ্ট করতে এবং চাই না!
Mockito.when(reader.document(0)).thenReturn(document(fakeIndex(0))
Mockito.when(reader.document(1)).thenReturn(document(fakeIndex(1))
....
Mockito.when(reader.document(n)).thenReturn(document(fakeIndex(n))
আমি ইউজিং মকিতো পৃষ্ঠার কলব্যাক্স বিভাগটি দেখেছি । দুর্ভাগ্যক্রমে, এটি জাভা নয় এবং জাভাতে কাজ করার জন্য আমি নিজের নিজস্ব ব্যাখ্যাটি পেতে পারি না।
সম্পাদনা (স্পষ্টকরণের জন্য): আমি কীভাবে মকিতোকে একটি যুক্তি এক্স ক্যাপচার করতে এবং এটি আমার ফাংশনে পাস করতে পারি? আমি এক্সের সঠিক মান (বা রেফ) ফাংশনে প্রেরণ করতে চাই।
আমি সমস্ত কেস গণনা করতে চাই না, এবং স্বেচ্ছাচারী যুক্তি কাজ করবে না কারণ আমি বিভিন্ন প্রশ্নের জন্য বিভিন্ন ফলাফলের জন্য পরীক্ষা করছি।
মকিতো পৃষ্ঠাটি বলেছে
val mockedList = mock[List[String]]
mockedList.get(anyInt) answers { i => "The parameter is " + i.toString }
এটি জাভা নয়, এবং আমি জানি না কীভাবে জাভাতে অনুবাদ করা যায় বা কোনও ফাংশনে যা ঘটেছিল তা পাস করতে পারি।
Mockito.when(reader.document(666)).thenReturn(document(fakeIndex(666))
মক অবজেক্টটি সেটআপ করা উচিত। ফোন করলে কি হয়reader.document(666)
?