Skip to content

Instantly share code, notes, and snippets.

@searls
Created March 10, 2011 14:41
Show Gist options
  • Save searls/864185 to your computer and use it in GitHub Desktop.
Save searls/864185 to your computer and use it in GitHub Desktop.
An example of stubbing with Mockito (with TestNG)
package com.pillartechnology.mail;
public class AddressInputQueue {
public String next() {
return null; //TODO: not implemented yet.
}
}
package com.pillartechnology.mail;
import static java.util.Arrays.*;
import java.util.List;
public class AddressSplitter {
private AddressInputQueue addressInputQueue;
public List<String> split() {
return asList(addressInputQueue.next().split(","));
}
}
package com.pillartechnology.mail;
import static org.hamcrest.MatcherAssert.*;
import static org.hamcrest.Matchers.*;
import static org.mockito.Mockito.*;
import java.util.List;
import org.mockito.InjectMocks;
import org.mockito.Mock;
import org.mockito.MockitoAnnotations;
import org.testng.annotations.BeforeMethod;
import org.testng.annotations.Test;
public class AddressSplitterTest {
@InjectMocks private AddressSplitter subject = new AddressSplitter();
@Mock private AddressInputQueue addressInputQueue;
@BeforeMethod(alwaysRun=true)
public void injectDoubles() {
MockitoAnnotations.initMocks(this); //This could be pulled up into a shared base class
}
@Test
public void splitsAddressesByComma() {
when(addressInputQueue.next()).thenReturn("[email protected],[email protected]");
List<String> result = subject.split();
assertThat(result,hasItems("[email protected]","[email protected]"));
}
}
@sriavr
Copy link

sriavr commented Jul 3, 2019

Thank you!

@prasgit
Copy link

prasgit commented Sep 24, 2019

Thanks, very helpful.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment