java-forum.org - Java programmieren aus Leidenschaft

Zurück   java-forum.org - Java programmieren aus Leidenschaft > Blogs

Eine Sammlung von nützlichen Code-Schnipseln
Alt

Zustandsbasiertes Testen mit JMockit

Veröffentlicht: 27.03.2013 um 14:55 von tfa (Java Snippets)

State-based testing with JMockit

Unit Under Test:
Java Code: Quelltext in neuem Fenster öffnen
1
2
3
4
5
6
7
8
9
10
public class DialogPresenter {
 
    private JDialog dialog;
 
    public void createAndShow(JDialog owner) {
        dialog = new JDialog(owner);
        dialog.setContentPane(new Container());
        dialog.setVisible(true);
    }
}

Test mit Mockup-Klasse:
Java Code: Quelltext in neuem Fenster öffnen
1
2
import static org.hamcrest.CoreMatchers.is;
import static org.hamcrest.CoreMatchers.notNullValue;
...
Benutzerbild von tfa
tfa
Stammbenutzer
Kategorie: Testing
Hits 204 Kommentare 0 tfa ist offline
Alt

Verifications und @Injectable mit JMockit

Veröffentlicht: 25.03.2013 um 14:54 von tfa (Java Snippets)
Aktualisiert: 27.03.2013 um 14:49 von tfa

Java Code: Quelltext in neuem Fenster öffnen
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
public abstract class AbstractModel {
 
    public void clear() {
        //dummy
    }
}
 
public class ModelA extends AbstractModel { }
public class ModelB extends AbstractModel { }
 
public class UnitUnderTest {
 
    private ModelA modelA;
    private ModelB modelB;
 
    public void doIt() {
        modelA.clear();
        modelB.clear();
    }
}
...
Benutzerbild von tfa
tfa
Stammbenutzer
Kategorie: Testing
Hits 219 Kommentare 0 tfa ist offline
Alt

System.out.println() in Logger umleiten

Veröffentlicht: 15.02.2013 um 10:11 von tfa (Java Snippets)
Aktualisiert: 26.03.2013 um 08:36 von tfa

Java Code: Quelltext in neuem Fenster öffnen
1
2
3
4
5
6
7
8
9
10
11
private void redirectStdOut() {
    System.setOut(new PrintStream(new LoggerOutputStream(LogFactory.getLog("System.out")), true));
    System.setErr(new PrintStream(new LoggerOutputStream(LogFactory.getLog("System.err")), true));
}
 
static class LoggerOutputStream extends ByteArrayOutputStream {
 
    final private Log logger;
 
    public LoggerOutputStream(Log logger) {
        this.logger = logger;
...
Benutzerbild von tfa
tfa
Stammbenutzer
Kategorie: Kategorielos
Hits 364 Kommentare 0 tfa ist offline
Alt

Expectations mit Mockit per Reflection

Veröffentlicht: 13.02.2013 um 13:33 von tfa (Java Snippets)
Aktualisiert: 27.03.2013 um 14:50 von tfa

Java Code: Quelltext in neuem Fenster öffnen
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
@Test
public void callMethodByReflection() throws Exception {
    class Foo {
        public void bar() {
        }
    }
 
    final Foo foo = new Foo();
    new Expectations(foo) {
        {
            foo.bar();
            times = 1;
        }
    };
    Foo.class.getMethod("bar").invoke(foo, new Object[0]);
}
Benutzerbild von tfa
tfa
Stammbenutzer
Kategorie: Testing
Hits 176 Kommentare 0 tfa ist offline
Alt

Mocking mit JMockit

Veröffentlicht: 09.07.2012 um 07:34 von tfa (Java Snippets)
Aktualisiert: 27.03.2013 um 14:51 von tfa

Mocking von beliebigen Klassen mit MockUp :
Java Code: Quelltext in neuem Fenster öffnen
1
2
3
4
5
6
7
8
9
10
11
@Test
public void testMockUp() {
    new MockUp<Object>() {
        @Mock
        public String toString() {
            return "bla";
        }
    };
    Object obj = new Object();
    assertThat(obj.toString(), is(equalTo("bla")));
}
Benutzerbild von tfa
tfa
Stammbenutzer
Kategorie: Testing
Hits 911 Kommentare 0 tfa ist offline

Alle Zeitangaben in WEZ +1. Es ist jetzt 13:59 Uhr.


Powered by vBulletin® Version 3.8.6 (Deutsch)
Copyright ©2000 - 2013, Jelsoft Enterprises Ltd.
Search Engine Friendly URLs by vBSEO 3.3.2
Thanks for Smilies by smilies.4-user.de