Advanced junit and mockito

download Advanced junit and mockito

If you can't read please download the document

Transcript of Advanced junit and mockito

Dependency Injection with Google Guice

Advanced JunitMathieu Carbou, 13/10/2011

github.com/Ovea/conf-junit

montreal-jug.org

junit.org

- presentation: expert en java & design, Depuis 16 ans (jdk 1 sous windows)specialiste en dev web (5 ans), Infra mavenArchi backend (web service, clustering, event driven, ajax & reverse-ajax)

- presentation sera sur mon blog

Junit basics

Junit advanced

Experimental features

Mockito

Schedule

@Test

Junit basics

Junit basics @Test

@Before, @After

@BeforeClass, @AfterClass

@BeforeClass

For each @Test Instanciate test class

@Before

Invoke the test

@After

@AfterClass

Junit lifecycle

@Test

@Before, @After

@BeforeClass, @AfterClass

Suites

Junit basics

@Test

@Before, @After

@BeforeClass, @AfterClass

Suites

Assertions

Junit basics

Hamcrest

Junit advancedhttp://code.google.com/p/hamcrest

Hamcrest

@ClassRule & @Rule

Junit advanced

Junit advancedpublic interface TestRule {Statement apply(Statement base, Description description);}

@Rule Statement

@ClassRule Statement

Hamcrest

@ClassRule & @Rule

@RunWith

Junit advanced

Junit runnersRunnerParentRunner

BlockJUnit4ClassRunnerSuite

Junit4

RunnerScheduler

Schedulingpublic interface RunnerScheduler {void schedule(Runnable childStatement);void finished();}

childStatement

Enclosed runner

Experimentals

Enclosed runner

@Category

Experimentals

Enclosed runner

@Category

@Theory

Experimentals

http://code.google.com/p/mockito/wiki/FeaturesAndMotivations

http://docs.mockito.googlecode.com/hg/latest/org/mockito/Mockito.html

Mockitoexpect-run-verify

stubbing-run-(verify)

VS

EasyMockJMockMockito

Advanced JunitQUESTIONS ?

- presentation: expert en java & design, Depuis 16 ans (jdk 1 sous windows)specialiste en dev web (5 ans), Infra mavenArchi backend (web service, clustering, event driven, ajax & reverse-ajax)

- presentation sera sur mon blog

Site: http://lab.ovea.com/Blog: http://blog.mycila.comMail: [email protected]