Skip to content

Commit 291f921

Browse files
committed
Fixes Dagger 2 example
1 parent d13d334 commit 291f921

File tree

5 files changed

+32
-3
lines changed

5 files changed

+32
-3
lines changed

com.vogella.android.daggerjunitmockito/app/build.gradle

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -50,6 +50,8 @@ dependencies {
5050
testCompile "org.powermock:powermock-module-junit4:$powerMockito"
5151
testCompile "org.powermock:powermock-api-mockito:$powerMockito"
5252
testCompile 'com.google.dagger:dagger:2.4'
53+
testCompile 'com.android.support:support-annotations:23.0.0'
54+
5355
compile 'com.google.dagger:dagger:2.4'
5456
apt "com.google.dagger:dagger-compiler:$DAGGER_VERSION"
5557
testApt "com.google.dagger:dagger-compiler:$DAGGER_VERSION"

com.vogella.android.daggerjunitmockito/app/src/main/java/com/vogella/android/daggerjunitmockito/MainService.java

Lines changed: 9 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -11,14 +11,21 @@ public class MainService {
1111
private MyPrinter printer;
1212

1313
@Inject
14-
public MainService(RestService restService,
15-
MyPrinter printer) {
14+
public MainService(RestService restService, MyPrinter printer) {
1615
this.restService = restService;
1716
this.printer = printer;
1817
}
1918

2019
public void doSomething() {
20+
if (restService == null) {
21+
System.out.println("restService not allowed to be null");
22+
}
2123
String s = restService.getSomething();
24+
System.out.println(s);
25+
if (printer == null) {
26+
System.out.println("printer not allowed to be null");
27+
}
28+
2229
printer.print(s.toUpperCase());
2330
}
2431
}

com.vogella.android.daggerjunitmockito/app/src/test/java/com/vogella/android/daggerjunitmockito/MainServiceDaggerTest.java

Lines changed: 10 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,11 @@
11
package com.vogella.android.daggerjunitmockito;
22

33
import org.junit.Before;
4+
import org.junit.Rule;
45
import org.junit.Test;
56
import org.junit.Test;
7+
import org.mockito.junit.MockitoJUnit;
8+
import org.mockito.junit.MockitoRule;
69

710
import javax.inject.Inject;
811

@@ -12,6 +15,7 @@
1215

1316
public class MainServiceDaggerTest {
1417

18+
1519
@Inject
1620
RestService restService;
1721

@@ -21,13 +25,18 @@ public class MainServiceDaggerTest {
2125

2226
@Before
2327
public void setUp() {
24-
TestComponent build = DaggerTestComponent.builder().testModule(new TestModule()).build();
28+
TestComponent build = DaggerTestComponent.builder().build();
2529
build.inject(this);
2630
}
2731

2832
@Test
2933
public void testDoSomething() {
34+
System.out.println("Rest service " + restService);
35+
System.out.println("Printer " + myPrinter);
36+
System.out.println("MainService " + mainService);
37+
3038
when(restService.getSomething()).thenReturn("abc");
39+
System.out.println(restService.getSomething());
3140

3241
mainService.doSomething();
3342

com.vogella.android.daggerjunitmockito/app/src/test/java/com/vogella/android/daggerjunitmockito/MainServiceTest.java

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -25,8 +25,11 @@ public class MainServiceTest {
2525

2626
@Test
2727
public void testDoSomething() {
28+
29+
2830
when(restService.getSomething()).thenReturn("abc");
2931

32+
3033
mainService.doSomething();
3134

3235
verify(myPrinter).print("ABC");

com.vogella.android.daggerjunitmockito/app/src/test/java/com/vogella/android/daggerjunitmockito/TestModule.java

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,18 +1,26 @@
11
package com.vogella.android.daggerjunitmockito;
2+
import android.support.annotation.NonNull;
3+
24
import static org.mockito.Mockito.*;
35
import org.mockito.Mockito;
46

7+
import javax.inject.Singleton;
8+
59
import dagger.Module;
610
import dagger.Provides;
711

812
@Module
913
public class TestModule {
1014
@Provides
15+
@Singleton
16+
@NonNull
1117
public MyPrinter provideMyPrinter() {
1218
return Mockito.mock(MyPrinter.class);
1319
}
1420

1521
@Provides
22+
@Singleton
23+
@NonNull
1624
public RestService provideRestService() {
1725
return Mockito.mock(RestService.class);
1826
}

0 commit comments

Comments
 (0)