Ich versuche zu lernen, wie man Tests schreibt.Wie Sie mit dem Testen beginnen (jMock)
http://www.theserverside.com/news/1365050/Using-JMock-in-Test-Driven-Development
http://jeantessier.com/SoftwareEngineering/Mocking.html#jMock
Und die meisten Artikel: Ich lerne auch Java, wurde mir gesagt, ich sollte lernen/Nutzung/Praxis JMock, habe ich einige Artikel online, die helfen, zu gewissen Grad wie gefunden Ich fand heraus, dass es um testgetriebene Entwicklung ging, schreibe zuerst Tests und schreibe dann Code, um den Test bestanden zu haben. Das suche ich momentan nicht, ich versuche mit jMock Tests für bereits vorhandenen Code zu schreiben.
Die official documentation ist vage, gelinde gesagt und einfach zu schwer für mich. Hat jemand einen besseren Weg dies zu lernen? Gute Bücher/Links/Tutorials würden mir sehr helfen. danke
EDIT - konkretere Frage:
http://jeantessier.com/SoftwareEngineering/Mocking.html#jMock - von diesem Artikel
versucht, diese, diese einfache Klasse zu verspotten:
import java.util.Map;
public class Cache {
private Map<Integer, String> underlyingStorage;
public Cache(Map<Integer, String> underlyingStorage) {
this.underlyingStorage = underlyingStorage;
}
public String get(int key) {
return underlyingStorage.get(key);
}
public void add(int key, String value) {
underlyingStorage.put(key, value);
}
public void remove(int key) {
underlyingStorage.remove(key);
}
public int size() {
return underlyingStorage.size();
}
public void clear() {
underlyingStorage.clear();
}
}
Hier ist, wie ich versuchte, Erstellen Sie einen Test/Mock:
public class CacheTest extends TestCase {
private Mockery context;
private Map mockMap;
private Cache cache;
@Override
@Before
public void setUp() {
context = new Mockery() {
{
setImposteriser(ClassImposteriser.INSTANCE);
}
};
mockMap = context.mock(Map.class);
cache = new Cache(mockMap);
}
public void testCache() {
context.checking(new Expectations() {{
atLeast(1).of(mockMap).size();
will(returnValue(int.class));
}});
}
}
Es besteht den Test und im Grunde nichts, was ich wollte, ist eine Karte zu erstellen und überprüfen Sie ihre Größe, und Sie wissen, arbeiten einige Variationen versuchen, dies in den Griff zu bekommen. Verstehe bessere Beispiele, was ich sonst hier noch testen könnte oder andere Übungen würden mir sehr helfen. tnx
Keine Antwort aber: Ich würde empfehlen zu lernen, wie man Tests schreibt, bevor man in Mocks schaut. Mocks sind ein fortgeschrittenes Thema beim Testen, Sie sollten zuerst die Grundlagen beherrschen. – Arne
@Arne Kannst du mir eine konkrete Antwort geben, was als Grundlagen betrachtet werden? Ich bin ein schneller Lerner und sage nicht, dass ich schlauer bin als andere Leute, nur ich bin begierig zu lernen und habe viel Zeit in meinen Händen. Wenn also eine Sache langweilig wird, kann ich mich auf die andere einfache/fortgeschrittene Ebene konzentrieren. tnx – London
Sie können Ihre Tests ohne ein spöttisches Framework schreiben. Verwenden Sie einfach JUnit, um Ihre Tests zu schreiben. Wenn Sie Ihren Code fließend testen und dann auf einen Fall stoßen, den Sie ohne einen Spott nicht bewältigen können, versuchen Sie es mit einem spöttischen Rahmen. Die Notwendigkeit für ein Spott sollte die Ausnahme sein, nicht die Regel. – Arne