Rumah >Java >javaTutorial >Bagaimana Cara Mengejek Separa dalam Kelas Menggunakan Mockito?
Cara Mengejek Kaedah Khusus dalam Kelas Menggunakan Mockito
Dalam ujian perisian, mengejek membolehkan anda mensimulasikan tingkah laku kebergantungan atau kelas yang anda tidak mahu langsung. Mockito ialah rangka kerja mengejek Java yang membolehkan anda mengejek kaedah dan mengesahkan interaksi dengan kaedah tersebut.
Secara khususnya, anda mungkin menghadapi senario di mana anda ingin mengejek kaedah kelas tertentu sambil membiarkan yang lain tidak disentuh. Pendekatan ini dikenali sebagai separa mengejek. Begini cara anda boleh mencapainya menggunakan Mockito:
// Mock the Stock class with partial mocking Stock stock = mock(Stock.class); // Mock specific methods when(stock.getPrice()).thenReturn(100.00); when(stock.getQuantity()).thenReturn(200); // Leave 'getValue()' unmocked // It will execute the actual Stock.getValue() calculation when(stock.getValue()).thenCallRealMethod();
Dengan cara ini, hanya kaedah getPrice() dan getQuantity() akan diejek, manakala getValue() akan melaksanakan kod asalnya.
Selain itu, anda boleh menggunakan hujah CALLS_REAL_METHODS dengan Mockito.mock():
Stock MOCK_STOCK = Mockito.mock(Stock.class, CALLS_REAL_METHODS);
Ini akan mewakilkan panggilan tanpa henti kepada pelaksanaan sebenar.
Walau bagaimanapun, adalah penting untuk ambil perhatian bahawa dalam contoh anda, mengejek hanya getPrice() dan getQuantity() tidak akan berfungsi dengan betul kerana pelaksanaan getValue() bergantung pada nilai pulangan sebenar mereka. Sebaliknya, pertimbangkan untuk mengelakkan ejekan sama sekali:
// Without mocks Stock stock = new Stock(100.00, 200); double value = stock.getValue();
Atas ialah kandungan terperinci Bagaimana Cara Mengejek Separa dalam Kelas Menggunakan Mockito?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!