Jestem nowy w użyciu Mockito i staram się zrozumieć sposób na wykonanie testu jednostkowego klasy, która opiera się na wstrzykniętych zależnościach. Co chcę zrobić, to stworzyć fałszywe obiekty zależności i sprawić, że klasa, którą testuję używa tych zamiast regularnych wstrzykniętych zależności, które zostałyby wstrzyknięte przez Spring. Czytałem samouczki, ale jestem nieco zdezorientowany, jak to zrobić.Mockito, Testowanie obiektu, który polega na wstrzykniętych zależnościach (Spring)?
mam jedną klasę chcę przetestować tak:
package org.rd.server.beans;
import org.springframework.beans.factory.annotation.Autowired;
public class TestBean1 {
@Autowired
private SubBean1 subBean1;
private String helloString;
public String testReturn() {
subBean1.setSomething("its working");
String something = subBean1.getSomething();
helloString = "Hello...... " + something;
return helloString;
}
Następnie mam klasy, które chcę użyć jako atrapa obiektu (zamiast zwykłej SubBean1
klasie, jak poniżej:
package org.rd.server.beans.mock;
public class SubBean1Mock {
private String something;
public String getSomething() {
return something;
}
public void setSomething(String something) {
this.something = something;
}
}
}
chcę po prostu spróbuj uruchomić prosty test tak:
package test.rd.beans;
import org.rd.server.beans.TestBean1;
import junit.framework.*;
public class TestBean1Test extends TestCase
{
private TestBean1 testBean1;
public TestBean1Test(String name)
{
super(name);
}
public void setUp()
{
testBean1 = new TestBean1();
// Somehow inject the mock dependency SubBean1Mock ???
}
public void test1() {
assertEquals(testBean1.testReturn(),"working");
}
}
Myślę, że musi istnieć jakiś prosty sposób, aby to zrobić, ale nie mogę zrozumieć tutoriali, ponieważ nie mam jeszcze kontekstu, aby zrozumieć wszystko, co robią/wyjaśniają. Gdyby ktoś mógł rzucić trochę światła na to, byłbym wdzięczny.
Dzięki, twoja odpowiedź pomaga mi zrozumieć to w prostym języku angielskim :) Myślę, że jestem na dobrej drodze teraz – Rick
Jestem całkiem nowy na kpiny, ale sprawia to, że skomplikowane testy są naprawdę fajne, gdy tylko zorientujesz się, jak to działa. Naprawdę lubiłem Mockito i uważam, że praca z nim jest bardzo przyjazna. Powodzenia w testach! – digitaljoel
dziękuję, świetny artykuł, miałem problem z uruchomieniem go, ale teraz rozumiem to lepiej, jestem pewien, że coś, co zrobiłem źle, będąc nowym, ale udało mi się przekonać do działania Eda. Egzamin próbny to zdecydowanie coś, co powinienem robić więcej – Rick