Last active
October 20, 2015 09:14
-
-
Save fejese/19a7827fba859392c637 to your computer and use it in GitHub Desktop.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
import static org.junit.Assert.* | |
import static org.mockito.Mockito.* | |
import org.junit.Test | |
class MockTest { | |
class Dto { | |
String val = 'data' | |
} | |
class StringPrinter { | |
int myprint(String s) { | |
println s | |
return 1 | |
} | |
} | |
class DataPrinter { | |
StringPrinter stringPrinter | |
DataPrinter(StringPrinter stringPrinter) { this.stringPrinter = stringPrinter } | |
int myprint(Dto b) { | |
int stringLines = stringPrinter.myprint(b.val) | |
println "stringLines: ${stringLines}" | |
return stringLines + 1 | |
} | |
} | |
@Test | |
public void testFoo() { | |
StringPrinter stringPrinter = mock(StringPrinter.class) | |
when(stringPrinter.myprint(anyString())).thenReturn(1) | |
DataPrinter sut = new DataPrinter(stringPrinter) | |
assert 2 == sut.myprint(new Dto()) | |
} | |
} | |
/* Trace: | |
org.mockito.exceptions.misusing.InvalidUseOfMatchersException: | |
Invalid use of argument matchers! | |
0 matchers expected, 1 recorded: | |
-> at org.codehaus.groovy.runtime.callsite.CallSiteArray.defaultCallStatic(CallSiteArray.java:53) | |
This exception may occur if matchers are combined with raw values: | |
//incorrect: | |
someMethod(anyObject(), "raw String"); | |
When using matchers, all arguments have to be provided by matchers. | |
For example: | |
//correct: | |
someMethod(anyObject(), eq("String by matcher")); | |
For more info see javadoc for Matchers class. | |
at org.codehaus.groovy.runtime.callsite.CallSiteArray.createPogoSite(CallSiteArray.java:144) | |
at org.codehaus.groovy.runtime.callsite.CallSiteArray.createCallSite(CallSiteArray.java:161) | |
at org.codehaus.groovy.runtime.callsite.CallSiteArray.defaultCall(CallSiteArray.java:45) | |
at org.codehaus.groovy.runtime.callsite.AbstractCallSite.call(AbstractCallSite.java:108) | |
at org.codehaus.groovy.runtime.callsite.AbstractCallSite.call(AbstractCallSite.java:116) | |
at MockTest.testFoo(MockTest.groovy:45) | |
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) | |
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) | |
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) | |
at java.lang.reflect.Method.invoke(Method.java:497) | |
at org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:47) | |
at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:12) | |
at org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:44) | |
at org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:17) | |
at org.junit.internal.runners.statements.RunBefores.evaluate(RunBefores.java:26) | |
at org.junit.runners.ParentRunner.runLeaf(ParentRunner.java:271) | |
at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:70) | |
at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:50) | |
at org.junit.runners.ParentRunner$3.run(ParentRunner.java:238) | |
at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:63) | |
at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:236) | |
at org.junit.runners.ParentRunner.access$000(ParentRunner.java:53) | |
at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:229) | |
at org.junit.runners.ParentRunner.run(ParentRunner.java:309) | |
at org.eclipse.jdt.internal.junit4.runner.JUnit4TestReference.run(JUnit4TestReference.java:50) | |
at org.eclipse.jdt.internal.junit.runner.TestExecution.run(TestExecution.java:38) | |
at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:459) | |
at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:675) | |
at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.run(RemoteTestRunner.java:382) | |
at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.main(RemoteTestRunner.java:192) | |
*/ |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment