Guest User

Untitled

a guest
Jan 21st, 2019
65
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.85 KB | None | 0 0
  1. class BaseService {
  2. public void save() {
  3. // a lot of code here! I cannot change this code.
  4. }
  5. }
  6.  
  7. public Childservice extends BaseService {
  8. public void save(){
  9. //logic for testing
  10. super.save();
  11. //logic for testing
  12. }
  13. }
  14.  
  15. public class Parent {
  16. public int save() {
  17. return 99;
  18. }
  19. }
  20.  
  21. public class Child extends Parent {
  22. public int save() {
  23. int i = super.save();
  24. return i*2;
  25. }
  26. }
  27.  
  28. @RunWith(PowerMockRunner.class)
  29. @PrepareForTest(Parent.class)
  30. public class ParentTest {
  31. @Test
  32. public void testSave() {
  33. PowerMockito.suppress(PowerMockito.methodsDeclaredIn(Parent.class));
  34. System.out.println(new Child().save());
  35. }
  36. }
  37.  
  38. public class Bar {
  39. public void bar() {
  40. System.out.println("Bar#bar()");
  41. }
  42. public int numBar() {
  43. System.out.println("Bar#numBar()");
  44. return 99;
  45. }
  46. }
  47.  
  48. public class Foo extends Bar {
  49.  
  50. @Override
  51. public void bar() {
  52. super.bar();
  53. System.out.println("Foo#bar()");
  54. }
  55.  
  56. @Override
  57. public int numBar() {
  58. System.out.println("Foo#numBar() - before-call super.numBar()");
  59. int result = super.numBar();
  60. System.out.println("Foo#numBar() - after-call super.numBar();");
  61. return result;
  62. }
  63. }
  64.  
  65. import org.junit.Assert;
  66. import org.junit.Test;
  67. import org.junit.runner.RunWith;
  68. import org.mockito.Mockito;
  69. import org.powermock.core.classloader.annotations.PrepareForTest;
  70. import org.powermock.modules.junit4.PowerMockRunner;
  71.  
  72. @RunWith(PowerMockRunner.class)
  73. @PrepareForTest(Bar.class)
  74. public class FooTest {
  75. @Test
  76. public void testNumBar() throws Exception {
  77. Foo foo = new Foo();
  78. Foo fooSpy = Mockito.spy(foo);
  79.  
  80. Mockito.doReturn(10).when((Bar) fooSpy).numBar();
  81. Assert.assertEquals(10, fooSpy.numBar());
  82. }
  83. }
Add Comment
Please, Sign In to add comment