diff --git a/demo/android-demo/app/src/test/java/com/alibaba/testable/demo/DemoBasicTest.java b/demo/android-demo/app/src/test/java/com/alibaba/testable/demo/DemoBasicTest.java index 8b4aa4e..fb48a95 100644 --- a/demo/android-demo/app/src/test/java/com/alibaba/testable/demo/DemoBasicTest.java +++ b/demo/android-demo/app/src/test/java/com/alibaba/testable/demo/DemoBasicTest.java @@ -9,7 +9,7 @@ import org.junit.Test; import java.util.concurrent.Executors; -import static com.alibaba.testable.core.matcher.InvokeVerifier.verify; +import static com.alibaba.testable.core.matcher.InvocationVerifier.verifyInvoked; import static com.alibaba.testable.core.tool.TestableTool.MOCK_CONTEXT; import static com.alibaba.testable.core.tool.TestableTool.SOURCE_METHOD; import static org.junit.Assert.assertEquals; @@ -75,28 +75,28 @@ public class DemoBasicTest { @Test public void should_mock_new_object() { assertEquals("mock_something", demoBasic.newFunc()); - verify("createBlackBox").with("something"); + verifyInvoked("createBlackBox").with("something"); } @Test public void should_mock_member_method() throws Exception { assertEquals("{ \"res\": \"mock_hello_MOCK_TAIL\"}", demoBasic.outerFunc("hello")); - verify("innerFunc").with("hello"); - verify("staticFunc").with(); + verifyInvoked("innerFunc").with("hello"); + verifyInvoked("staticFunc").with(); } @Test public void should_mock_common_method() { assertEquals("trim_string__sub_string__false", demoBasic.commonFunc()); - verify("trim").withTimes(1); - verify("sub").withTimes(1); - verify("startsWith").withTimes(1); + verifyInvoked("trim").withTimes(1); + verifyInvoked("sub").withTimes(1); + verifyInvoked("startsWith").withTimes(1); } @Test public void should_mock_static_method() { assertEquals("not_secret_box", demoBasic.getBox().get()); - verify("secretBox").withTimes(1); + verifyInvoked("secretBox").withTimes(1); } @Test @@ -106,7 +106,7 @@ public class DemoBasicTest { // asynchronous assertEquals("mock_one_mock_others", Executors.newSingleThreadExecutor().submit(() -> demoBasic.callerOne() + "_" + demoBasic.callerTwo()).get()); - verify("callFromDifferentMethod").withTimes(4); + verifyInvoked("callFromDifferentMethod").withTimes(4); } @Test @@ -116,7 +116,7 @@ public class DemoBasicTest { assertEquals("mock_special", demoBasic.callerOne()); // asynchronous assertEquals("mock_special", Executors.newSingleThreadExecutor().submit(() -> demoBasic.callerOne()).get()); - verify("callFromDifferentMethod").withTimes(2); + verifyInvoked("callFromDifferentMethod").withTimes(2); } } diff --git a/demo/android-demo/app/src/test/java/com/alibaba/testable/demo/DemoServiceTest.java b/demo/android-demo/app/src/test/java/com/alibaba/testable/demo/DemoServiceTest.java index 3668b52..c9d41dc 100644 --- a/demo/android-demo/app/src/test/java/com/alibaba/testable/demo/DemoServiceTest.java +++ b/demo/android-demo/app/src/test/java/com/alibaba/testable/demo/DemoServiceTest.java @@ -12,7 +12,7 @@ import org.robolectric.Robolectric; import org.robolectric.RobolectricTestRunner; import org.robolectric.annotation.Config; -import static com.alibaba.testable.core.matcher.InvokeVerifier.verify; +import static com.alibaba.testable.core.matcher.InvocationVerifier.verifyInvoked; @RunWith(RobolectricTestRunner.class) @Config(sdk = 30) @@ -38,10 +38,10 @@ public class DemoServiceTest { intent.setAction("start_foreground"); demoService.onStartCommand(intent, 0, 1); - verify("log").with("DemoService", "start service."); + verifyInvoked("log").with("DemoService", "start service."); intent.setAction("stop_foreground"); demoService.onStartCommand(intent, 0, 1); - verify("log").with("DemoService", "stop service."); + verifyInvoked("log").with("DemoService", "stop service."); } } \ No newline at end of file diff --git a/demo/java-demo/src/test/java/com/alibaba/demo/basic/DemoInheritTest.java b/demo/java-demo/src/test/java/com/alibaba/demo/basic/DemoInheritTest.java index 94d81b0..637fee9 100644 --- a/demo/java-demo/src/test/java/com/alibaba/demo/basic/DemoInheritTest.java +++ b/demo/java-demo/src/test/java/com/alibaba/demo/basic/DemoInheritTest.java @@ -6,7 +6,7 @@ import com.alibaba.demo.basic.model.mock.Color; import com.alibaba.testable.core.annotation.MockMethod; import org.junit.jupiter.api.Test; -import static com.alibaba.testable.core.matcher.InvokeVerifier.verify; +import static com.alibaba.testable.core.matcher.InvocationVerifier.verifyInvoked; import static org.junit.jupiter.api.Assertions.assertEquals; /** @@ -57,49 +57,49 @@ class DemoInheritTest { @Test void should_mock_call_sub_object_method_by_parent_object() { BlackBox box = (BlackBox)demoInherit.putIntoBox(); - verify("put_into_box").withTimes(1); + verifyInvoked("put_into_box").withTimes(1); assertEquals("put_data_into_box", box.get()); } @Test void should_mock_call_sub_object_method_by_sub_object() { BlackBox box = demoInherit.putIntoBlackBox(); - verify("put_into_blackbox").withTimes(1); + verifyInvoked("put_into_blackbox").withTimes(1); assertEquals("put_data_into_blackbox", box.get()); } @Test void should_mock_call_parent_object_method_by_parent_object() { String content = demoInherit.getFromBox(); - verify("get_from_box").withTimes(1); + verifyInvoked("get_from_box").withTimes(1); assertEquals("get_from_box", content); } @Test void should_mock_call_parent_object_method_by_sub_object() { String content = demoInherit.getFromBlackBox(); - verify("get_from_blackbox").withTimes(1); + verifyInvoked("get_from_blackbox").withTimes(1); assertEquals("get_from_blackbox", content); } @Test void should_mock_call_interface_method_by_interface_object() { String color = demoInherit.getColorViaColor(); - verify("get_color_from_color").withTimes(1); + verifyInvoked("get_color_from_color").withTimes(1); assertEquals("color_from_color", color); } @Test void should_mock_call_interface_method_by_sub_class_object() { String color = demoInherit.getColorViaBox(); - verify("get_color_from_blackbox").withTimes(1); + verifyInvoked("get_color_from_blackbox").withTimes(1); assertEquals("color_from_blackbox", color); } @Test void should_mock_call_interface_method_by_sub_interface_object() { String colorIdx = demoInherit.getColorIdxViaColor(); - verify("get_colorIdx_from_color").withTimes(1); + verifyInvoked("get_colorIdx_from_color").withTimes(1); assertEquals("colorIdx_from_color", colorIdx); } } diff --git a/demo/java-demo/src/test/java/com/alibaba/demo/basic/DemoMatcherTest.java b/demo/java-demo/src/test/java/com/alibaba/demo/basic/DemoMatcherTest.java index 3dd916e..bbd396f 100644 --- a/demo/java-demo/src/test/java/com/alibaba/demo/basic/DemoMatcherTest.java +++ b/demo/java-demo/src/test/java/com/alibaba/demo/basic/DemoMatcherTest.java @@ -5,8 +5,8 @@ import com.alibaba.testable.core.annotation.MockMethod; import com.alibaba.testable.core.error.VerifyFailedError; import org.junit.jupiter.api.Test; -import static com.alibaba.testable.core.matcher.InvokeMatcher.*; -import static com.alibaba.testable.core.matcher.InvokeVerifier.verify; +import static com.alibaba.testable.core.matcher.InvocationMatcher.*; +import static com.alibaba.testable.core.matcher.InvocationVerifier.verifyInvoked; import static org.junit.jupiter.api.Assertions.fail; /** @@ -31,49 +31,49 @@ class DemoMatcherTest { @Test void should_match_no_argument() { demoMatcher.callMethodWithoutArgument(); - verify("methodWithoutArgument").withTimes(1); + verifyInvoked("methodWithoutArgument").withTimes(1); demoMatcher.callMethodWithoutArgument(); - verify("methodWithoutArgument").withTimes(2); + verifyInvoked("methodWithoutArgument").withTimes(2); } @Test void should_match_number_arguments() { demoMatcher.callMethodWithNumberArguments(); - verify("methodWithArguments").without(anyString(), 2); - verify("methodWithArguments").withInOrder(anyInt(), 2); - verify("methodWithArguments").withInOrder(anyLong(), anyNumber()); - verify("methodWithArguments").with(1.0, anyMapOf(Integer.class, Float.class)); - verify("methodWithArguments").with(anyList(), anySetOf(Float.class)); - verify("methodWithArguments").with(anyList(), anyListOf(Float.class)); - verify("methodWithArrayArgument").with(anyArrayOf(Long.class)); - verify("methodWithArrayArgument").with(anyArray()); + verifyInvoked("methodWithArguments").without(anyString(), 2); + verifyInvoked("methodWithArguments").withInOrder(anyInt(), 2); + verifyInvoked("methodWithArguments").withInOrder(anyLong(), anyNumber()); + verifyInvoked("methodWithArguments").with(1.0, anyMapOf(Integer.class, Float.class)); + verifyInvoked("methodWithArguments").with(anyList(), anySetOf(Float.class)); + verifyInvoked("methodWithArguments").with(anyList(), anyListOf(Float.class)); + verifyInvoked("methodWithArrayArgument").with(anyArrayOf(Long.class)); + verifyInvoked("methodWithArrayArgument").with(anyArray()); } @Test void should_match_string_arguments() { demoMatcher.callMethodWithStringArgument(); - verify("methodWithArguments").with(startsWith("he"), endsWith("ld")); - verify("methodWithArguments").with(contains("stab"), matches("m.[cd]k")); - verify("methodWithArrayArgument").with(anyArrayOf(String.class)); + verifyInvoked("methodWithArguments").with(startsWith("he"), endsWith("ld")); + verifyInvoked("methodWithArguments").with(contains("stab"), matches("m.[cd]k")); + verifyInvoked("methodWithArrayArgument").with(anyArrayOf(String.class)); } @Test void should_match_object_arguments() { demoMatcher.callMethodWithObjectArgument(); - verify("methodWithArguments").withInOrder(any(BlackBox.class), any(BlackBox.class)); - verify("methodWithArguments").withInOrder(nullable(BlackBox.class), nullable(BlackBox.class)); - verify("methodWithArguments").withInOrder(isNull(), notNull()); + verifyInvoked("methodWithArguments").withInOrder(any(BlackBox.class), any(BlackBox.class)); + verifyInvoked("methodWithArguments").withInOrder(nullable(BlackBox.class), nullable(BlackBox.class)); + verifyInvoked("methodWithArguments").withInOrder(isNull(), notNull()); } @Test void should_match_with_times() { demoMatcher.callMethodWithNumberArguments(); - verify("methodWithArguments").with(anyNumber(), any()).times(3); + verifyInvoked("methodWithArguments").with(anyNumber(), any()).times(3); demoMatcher.callMethodWithNumberArguments(); boolean gotError = false; try { - verify("methodWithArguments").with(anyNumber(), any()).times(4); + verifyInvoked("methodWithArguments").with(anyNumber(), any()).times(4); } catch (VerifyFailedError e) { gotError = true; } diff --git a/demo/java-demo/src/test/java/com/alibaba/demo/basic/DemoMockTest.java b/demo/java-demo/src/test/java/com/alibaba/demo/basic/DemoMockTest.java index 1ad7f11..c59f1f3 100644 --- a/demo/java-demo/src/test/java/com/alibaba/demo/basic/DemoMockTest.java +++ b/demo/java-demo/src/test/java/com/alibaba/demo/basic/DemoMockTest.java @@ -7,7 +7,7 @@ import org.junit.jupiter.api.Test; import java.util.concurrent.Executors; -import static com.alibaba.testable.core.matcher.InvokeVerifier.verify; +import static com.alibaba.testable.core.matcher.InvocationVerifier.verifyInvoked; import static com.alibaba.testable.core.tool.TestableTool.MOCK_CONTEXT; import static com.alibaba.testable.core.tool.TestableTool.SOURCE_METHOD; import static org.junit.jupiter.api.Assertions.assertEquals; @@ -73,28 +73,28 @@ class DemoMockTest { @Test void should_mock_new_object() { assertEquals("mock_something", demoMock.newFunc()); - verify("createBlackBox").with("something"); + verifyInvoked("createBlackBox").with("something"); } @Test void should_mock_member_method() throws Exception { assertEquals("{ \"res\": \"mock_hello_MOCK_TAIL\"}", demoMock.outerFunc("hello")); - verify("innerFunc").with("hello"); - verify("staticFunc").with(); + verifyInvoked("innerFunc").with("hello"); + verifyInvoked("staticFunc").with(); } @Test void should_mock_common_method() { assertEquals("trim_string__sub_string__false", demoMock.commonFunc()); - verify("trim").withTimes(1); - verify("sub").withTimes(1); - verify("startsWith").withTimes(1); + verifyInvoked("trim").withTimes(1); + verifyInvoked("sub").withTimes(1); + verifyInvoked("startsWith").withTimes(1); } @Test void should_mock_static_method() { assertEquals("not_secret_box", demoMock.getBox().get()); - verify("secretBox").withTimes(1); + verifyInvoked("secretBox").withTimes(1); } @Test @@ -104,7 +104,7 @@ class DemoMockTest { // asynchronous assertEquals("mock_one_mock_others", Executors.newSingleThreadExecutor().submit(() -> demoMock.callerOne() + "_" + demoMock.callerTwo()).get()); - verify("callFromDifferentMethod").withTimes(4); + verifyInvoked("callFromDifferentMethod").withTimes(4); } @Test @@ -114,7 +114,7 @@ class DemoMockTest { assertEquals("mock_special", demoMock.callerOne()); // asynchronous assertEquals("mock_special", Executors.newSingleThreadExecutor().submit(() -> demoMock.callerOne()).get()); - verify("callFromDifferentMethod").withTimes(2); + verifyInvoked("callFromDifferentMethod").withTimes(2); } } diff --git a/demo/java-demo/src/test/java/com/alibaba/demo/lambda/ExternalLambdaDemoTest.java b/demo/java-demo/src/test/java/com/alibaba/demo/lambda/ExternalLambdaDemoTest.java index e2b14e8..ac2a533 100644 --- a/demo/java-demo/src/test/java/com/alibaba/demo/lambda/ExternalLambdaDemoTest.java +++ b/demo/java-demo/src/test/java/com/alibaba/demo/lambda/ExternalLambdaDemoTest.java @@ -3,7 +3,7 @@ package com.alibaba.demo.lambda; import com.alibaba.testable.core.annotation.MockMethod; import org.junit.jupiter.api.Test; -import static com.alibaba.testable.core.matcher.InvokeVerifier.verify; +import static com.alibaba.testable.core.matcher.InvocationVerifier.verifyInvoked; /** * @author zcbbpo @@ -44,37 +44,37 @@ public class ExternalLambdaDemoTest { @Test public void shouldMockString1() { lambdaDemo.string1(); - verify("mockContains").withTimes(1); + verifyInvoked("mockContains").withTimes(1); } @Test public void shouldMockByte1() { lambdaDemo.byte1(); - verify("mockFloatValue").withTimes(1); + verifyInvoked("mockFloatValue").withTimes(1); } @Test public void shouldMockDouble2() { lambdaDemo.double2(); - verify("mockCompareTo").withTimes(1); + verifyInvoked("mockCompareTo").withTimes(1); } @Test public void testMul() { lambdaDemo.mul(); - verify("mockContains").withTimes(2); + verifyInvoked("mockContains").withTimes(2); } @Test public void testExternalClass() { lambdaDemo.externalClass(); - verify("mockMethodReference0").withTimes(1); + verifyInvoked("mockMethodReference0").withTimes(1); } @Test public void testFunction3() { lambdaDemo.function3(); - verify("mockF3").withTimes(1); + verifyInvoked("mockF3").withTimes(1); } } diff --git a/demo/java-demo/src/test/java/com/alibaba/demo/lambda/LambdaDemoTest.java b/demo/java-demo/src/test/java/com/alibaba/demo/lambda/LambdaDemoTest.java index 1889039..616a481 100644 --- a/demo/java-demo/src/test/java/com/alibaba/demo/lambda/LambdaDemoTest.java +++ b/demo/java-demo/src/test/java/com/alibaba/demo/lambda/LambdaDemoTest.java @@ -1,11 +1,9 @@ package com.alibaba.demo.lambda; -import com.alibaba.testable.core.annotation.MockDiagnose; import com.alibaba.testable.core.annotation.MockMethod; -import com.alibaba.testable.core.model.LogLevel; import org.junit.jupiter.api.Test; -import static com.alibaba.testable.core.matcher.InvokeVerifier.verify; +import static com.alibaba.testable.core.matcher.InvocationVerifier.verifyInvoked; import static org.junit.jupiter.api.Assertions.assertEquals; /** @@ -15,7 +13,6 @@ public class LambdaDemoTest { private final LambdaDemo lambdaDemo = new LambdaDemo(); @SuppressWarnings("unused") - @MockDiagnose(LogLevel.VERBOSE) public static class Mock { @MockMethod(targetClass = LambdaDemo.class, targetMethod = "run") private void mockRun() { @@ -53,7 +50,7 @@ public class LambdaDemoTest { @Test public void shouldMockRun() { lambdaDemo.methodReference(); - verify("mockRun").withTimes(1); + verifyInvoked("mockRun").withTimes(1); } @Test diff --git a/demo/java-demo/src/test/java/com/alibaba/demo/one2multi/OneToMultiSvcTest.java b/demo/java-demo/src/test/java/com/alibaba/demo/one2multi/OneToMultiSvcTest.java index 228838a..32fb47c 100644 --- a/demo/java-demo/src/test/java/com/alibaba/demo/one2multi/OneToMultiSvcTest.java +++ b/demo/java-demo/src/test/java/com/alibaba/demo/one2multi/OneToMultiSvcTest.java @@ -4,7 +4,7 @@ import com.alibaba.testable.core.annotation.MockWith; import org.junit.jupiter.api.Test; -import static com.alibaba.testable.core.matcher.InvokeVerifier.verify; +import static com.alibaba.testable.core.matcher.InvocationVerifier.verifyInvoked; import static org.junit.jupiter.api.Assertions.assertEquals; @MockWith @@ -19,9 +19,9 @@ public class OneToMultiSvcTest { assertEquals("a_mock", aSvc.demo("test")); assertEquals("b_mock", bSvc.demo("test")); assertEquals("c_mock", cSvc.demo("test")); - verify("a_format").withTimes(1); - verify("b_format").withTimes(1); - verify("c_format").withTimes(1); + verifyInvoked("a_format").withTimes(1); + verifyInvoked("b_format").withTimes(1); + verifyInvoked("c_format").withTimes(1); } } diff --git a/demo/kotlin-demo/src/test/kotlin/com/alibaba/demo/basic/DemoInheritTest.kt b/demo/kotlin-demo/src/test/kotlin/com/alibaba/demo/basic/DemoInheritTest.kt index bd793e1..c8e4629 100644 --- a/demo/kotlin-demo/src/test/kotlin/com/alibaba/demo/basic/DemoInheritTest.kt +++ b/demo/kotlin-demo/src/test/kotlin/com/alibaba/demo/basic/DemoInheritTest.kt @@ -1,7 +1,7 @@ package com.alibaba.demo.basic import com.alibaba.testable.core.annotation.MockMethod -import com.alibaba.testable.core.matcher.InvokeVerifier +import com.alibaba.testable.core.matcher.InvocationVerifier import com.alibaba.demo.basic.model.mock.BlackBox import com.alibaba.demo.basic.model.mock.Box import com.alibaba.demo.basic.model.mock.Color @@ -51,42 +51,42 @@ internal class DemoInheritTest { @Test fun should_mock_call_sub_object_method_by_parent_object() { val box = demoInherit.putIntoBox() as BlackBox - InvokeVerifier.verify("put_into_box").withTimes(1) + InvocationVerifier.verifyInvoked("put_into_box").withTimes(1) assertEquals("put_data_into_box", box.get()) } @Test fun should_mock_call_sub_object_method_by_sub_object() { val box = demoInherit.putIntoBlackBox() - InvokeVerifier.verify("put_into_blackbox").withTimes(1) + InvocationVerifier.verifyInvoked("put_into_blackbox").withTimes(1) assertEquals("put_data_into_blackbox", box.get()) } @Test fun should_mock_call_parent_object_method_by_parent_object() { val content = demoInherit.fromBox - InvokeVerifier.verify("get_from_box").withTimes(1) + InvocationVerifier.verifyInvoked("get_from_box").withTimes(1) assertEquals("get_from_box", content) } @Test fun should_mock_call_parent_object_method_by_sub_object() { val content = demoInherit.fromBlackBox - InvokeVerifier.verify("get_from_blackbox").withTimes(1) + InvocationVerifier.verifyInvoked("get_from_blackbox").withTimes(1) assertEquals("get_from_blackbox", content) } @Test fun should_mock_call_interface_method_by_interface_object() { val color = demoInherit.colorViaColor - InvokeVerifier.verify("get_color_from_color").withTimes(1) + InvocationVerifier.verifyInvoked("get_color_from_color").withTimes(1) assertEquals("color_from_color", color) } @Test fun should_mock_call_interface_method_by_sub_class_object() { val color = demoInherit.colorViaBox - InvokeVerifier.verify("get_color_from_blackbox").withTimes(1) + InvocationVerifier.verifyInvoked("get_color_from_blackbox").withTimes(1) assertEquals("color_from_blackbox", color) } } diff --git a/demo/kotlin-demo/src/test/kotlin/com/alibaba/demo/basic/DemoMatcherTest.kt b/demo/kotlin-demo/src/test/kotlin/com/alibaba/demo/basic/DemoMatcherTest.kt index 395eb4b..a109282 100644 --- a/demo/kotlin-demo/src/test/kotlin/com/alibaba/demo/basic/DemoMatcherTest.kt +++ b/demo/kotlin-demo/src/test/kotlin/com/alibaba/demo/basic/DemoMatcherTest.kt @@ -2,8 +2,8 @@ package com.alibaba.demo.basic import com.alibaba.testable.core.annotation.MockMethod import com.alibaba.testable.core.error.VerifyFailedError -import com.alibaba.testable.core.matcher.InvokeMatcher -import com.alibaba.testable.core.matcher.InvokeVerifier +import com.alibaba.testable.core.matcher.InvocationMatcher +import com.alibaba.testable.core.matcher.InvocationVerifier import com.alibaba.demo.basic.model.mock.BlackBox import org.junit.jupiter.api.Assertions import org.junit.jupiter.api.Test @@ -33,50 +33,50 @@ internal class DemoMatcherTest { @Test fun should_match_no_argument() { demoMatcher.callMethodWithoutArgument() - InvokeVerifier.verify("methodWithoutArgument").withTimes(1) + InvocationVerifier.verifyInvoked("methodWithoutArgument").withTimes(1) demoMatcher.callMethodWithoutArgument() - InvokeVerifier.verify("methodWithoutArgument").withTimes(2) + InvocationVerifier.verifyInvoked("methodWithoutArgument").withTimes(2) } @Test fun should_match_number_arguments() { demoMatcher.callMethodWithNumberArguments() - InvokeVerifier.verify("methodWithArguments").without(InvokeMatcher.anyString(), 2) - InvokeVerifier.verify("methodWithArguments").withInOrder(InvokeMatcher.anyInt(), 2) - InvokeVerifier.verify("methodWithArguments").withInOrder(InvokeMatcher.anyLong(), InvokeMatcher.anyNumber()) + InvocationVerifier.verifyInvoked("methodWithArguments").without(InvocationMatcher.anyString(), 2) + InvocationVerifier.verifyInvoked("methodWithArguments").withInOrder(InvocationMatcher.anyInt(), 2) + InvocationVerifier.verifyInvoked("methodWithArguments").withInOrder(InvocationMatcher.anyLong(), InvocationMatcher.anyNumber()) // Note: Must use `::class.javaObjectType` for primary types check in Kotlin - InvokeVerifier.verify("methodWithArguments").with(1.0, InvokeMatcher.anyMapOf(Int::class.javaObjectType, Float::class.javaObjectType)).times(2) - InvokeVerifier.verify("methodWithArguments").with(InvokeMatcher.anyList(), InvokeMatcher.anySetOf(Float::class.javaObjectType)).times(2) - InvokeVerifier.verify("methodWithArguments").with(InvokeMatcher.anyList(), InvokeMatcher.anyListOf(Float::class.javaObjectType)) - InvokeVerifier.verify("methodWithArrayArgument").with(InvokeMatcher.anyArrayOf(Long::class.javaObjectType)) - InvokeVerifier.verify("methodWithArrayArgument").with(InvokeMatcher.anyArray()) + InvocationVerifier.verifyInvoked("methodWithArguments").with(1.0, InvocationMatcher.anyMapOf(Int::class.javaObjectType, Float::class.javaObjectType)).times(2) + InvocationVerifier.verifyInvoked("methodWithArguments").with(InvocationMatcher.anyList(), InvocationMatcher.anySetOf(Float::class.javaObjectType)).times(2) + InvocationVerifier.verifyInvoked("methodWithArguments").with(InvocationMatcher.anyList(), InvocationMatcher.anyListOf(Float::class.javaObjectType)) + InvocationVerifier.verifyInvoked("methodWithArrayArgument").with(InvocationMatcher.anyArrayOf(Long::class.javaObjectType)) + InvocationVerifier.verifyInvoked("methodWithArrayArgument").with(InvocationMatcher.anyArray()) } @Test fun should_match_string_arguments() { demoMatcher.callMethodWithStringArgument() - InvokeVerifier.verify("methodWithArguments").with(InvokeMatcher.startsWith("he"), InvokeMatcher.endsWith("ld")) - InvokeVerifier.verify("methodWithArguments").with(InvokeMatcher.contains("stab"), InvokeMatcher.matches("m.[cd]k")) - InvokeVerifier.verify("methodWithArrayArgument").with(InvokeMatcher.anyArrayOf(String::class.java)) + InvocationVerifier.verifyInvoked("methodWithArguments").with(InvocationMatcher.startsWith("he"), InvocationMatcher.endsWith("ld")) + InvocationVerifier.verifyInvoked("methodWithArguments").with(InvocationMatcher.contains("stab"), InvocationMatcher.matches("m.[cd]k")) + InvocationVerifier.verifyInvoked("methodWithArrayArgument").with(InvocationMatcher.anyArrayOf(String::class.java)) } @Test fun should_match_object_arguments() { demoMatcher.callMethodWithObjectArgument() - InvokeVerifier.verify("methodWithArguments").withInOrder(InvokeMatcher.any(BlackBox::class.java), InvokeMatcher.any(BlackBox::class.java)) - InvokeVerifier.verify("methodWithArguments").withInOrder(InvokeMatcher.nullable(BlackBox::class.java), InvokeMatcher.nullable(BlackBox::class.java)) - InvokeVerifier.verify("methodWithArguments").withInOrder(InvokeMatcher.isNull(), InvokeMatcher.notNull()) + InvocationVerifier.verifyInvoked("methodWithArguments").withInOrder(InvocationMatcher.any(BlackBox::class.java), InvocationMatcher.any(BlackBox::class.java)) + InvocationVerifier.verifyInvoked("methodWithArguments").withInOrder(InvocationMatcher.nullable(BlackBox::class.java), InvocationMatcher.nullable(BlackBox::class.java)) + InvocationVerifier.verifyInvoked("methodWithArguments").withInOrder(InvocationMatcher.isNull(), InvocationMatcher.notNull()) } @Test fun should_match_with_times() { demoMatcher.callMethodWithNumberArguments() - InvokeVerifier.verify("methodWithArguments").with(InvokeMatcher.anyNumber(), InvokeMatcher.any()).times(4) + InvocationVerifier.verifyInvoked("methodWithArguments").with(InvocationMatcher.anyNumber(), InvocationMatcher.any()).times(4) demoMatcher.callMethodWithNumberArguments() var gotError = false try { - InvokeVerifier.verify("methodWithArguments").with(InvokeMatcher.anyNumber(), InvokeMatcher.any()).times(5) + InvocationVerifier.verifyInvoked("methodWithArguments").with(InvocationMatcher.anyNumber(), InvocationMatcher.any()).times(5) } catch (e: VerifyFailedError) { gotError = true } diff --git a/demo/kotlin-demo/src/test/kotlin/com/alibaba/demo/basic/DemoMockTest.kt b/demo/kotlin-demo/src/test/kotlin/com/alibaba/demo/basic/DemoMockTest.kt index d37145f..ba2af58 100644 --- a/demo/kotlin-demo/src/test/kotlin/com/alibaba/demo/basic/DemoMockTest.kt +++ b/demo/kotlin-demo/src/test/kotlin/com/alibaba/demo/basic/DemoMockTest.kt @@ -2,7 +2,7 @@ package com.alibaba.demo.basic import com.alibaba.testable.core.annotation.MockConstructor import com.alibaba.testable.core.annotation.MockMethod -import com.alibaba.testable.core.matcher.InvokeVerifier.verify +import com.alibaba.testable.core.matcher.InvocationVerifier.verifyInvoked import com.alibaba.testable.core.tool.TestableTool.SOURCE_METHOD import com.alibaba.testable.core.tool.TestableTool.MOCK_CONTEXT import com.alibaba.demo.basic.model.mock.BlackBox @@ -66,35 +66,35 @@ internal class DemoMockTest { @Test fun should_mock_new_object() { assertEquals("mock_something", demoMock.newFunc()) - verify("createBlackBox").with("something") + verifyInvoked("createBlackBox").with("something") } @Test fun should_mock_member_method() { assertEquals("{ \"res\": \"mock_hello_MOCK_TAIL\"}", demoMock.outerFunc("hello")) - verify("innerFunc").with("hello") - verify("staticFunc").with() + verifyInvoked("innerFunc").with("hello") + verifyInvoked("staticFunc").with() } // @Test // fun should_mock_method_in_companion_object() { // assertEquals("CALL_MOCK_TAIL", DemoMock.callStaticFunc()) -// verify("staticFunc").with() +// verifyInvoked("staticFunc").with() // } @Test fun should_mock_common_method() { assertEquals("trim_string__sub_string__false", demoMock.commonFunc()) - verify("trim").withTimes(1) - verify("sub").withTimes(1) - verify("startsWith").withTimes(1) + verifyInvoked("trim").withTimes(1) + verifyInvoked("sub").withTimes(1) + verifyInvoked("startsWith").withTimes(1) } @Test fun should_mock_static_method() { assertEquals("White_not_secret_box", demoMock.getBox().get()) - verify("secretBox").withTimes(1) - verify("createBox").withTimes(1) + verifyInvoked("secretBox").withTimes(1) + verifyInvoked("createBox").withTimes(1) } @Test @@ -105,7 +105,7 @@ internal class DemoMockTest { assertEquals("mock_one_mock_others", Executors.newSingleThreadExecutor().submit { demoMock.callerOne() + "_" + demoMock.callerTwo() }.get()) - verify("callFromDifferentMethod").withTimes(4) + verifyInvoked("callFromDifferentMethod").withTimes(4) } @Test @@ -117,7 +117,7 @@ internal class DemoMockTest { assertEquals("mock_special", Executors.newSingleThreadExecutor().submit { demoMock.callerOne() }.get()) - verify("callFromDifferentMethod").withTimes(2) + verifyInvoked("callFromDifferentMethod").withTimes(2) MOCK_CONTEXT.clear() } } diff --git a/demo/kotlin-demo/src/test/kotlin/com/alibaba/demo/java2kotlin/PathDemoTest.kt b/demo/kotlin-demo/src/test/kotlin/com/alibaba/demo/java2kotlin/PathDemoTest.kt index ee4dbad..b1dceaa 100644 --- a/demo/kotlin-demo/src/test/kotlin/com/alibaba/demo/java2kotlin/PathDemoTest.kt +++ b/demo/kotlin-demo/src/test/kotlin/com/alibaba/demo/java2kotlin/PathDemoTest.kt @@ -1,7 +1,7 @@ package com.alibaba.demo.java2kotlin import com.alibaba.testable.core.annotation.MockMethod -import com.alibaba.testable.core.matcher.InvokeVerifier.verify +import com.alibaba.testable.core.matcher.InvocationVerifier.verifyInvoked import org.junit.jupiter.api.Test import java.io.File @@ -43,8 +43,8 @@ class PathDemoTest { @Test fun should_mock_java_method_invoke_in_kotlin() { PathDemo.deleteRecursively(File("/a/b/")) - verify("listFiles").withTimes(2) - verify("delete").withTimes(4) + verifyInvoked("listFiles").withTimes(2) + verifyInvoked("delete").withTimes(4) } } diff --git a/demo/kotlin-demo/src/test/kotlin/com/alibaba/demo/one2multi/OneToMultiSvcTest.kt b/demo/kotlin-demo/src/test/kotlin/com/alibaba/demo/one2multi/OneToMultiSvcTest.kt index 4588ffc..0987a0d 100644 --- a/demo/kotlin-demo/src/test/kotlin/com/alibaba/demo/one2multi/OneToMultiSvcTest.kt +++ b/demo/kotlin-demo/src/test/kotlin/com/alibaba/demo/one2multi/OneToMultiSvcTest.kt @@ -1,7 +1,7 @@ package com.alibaba.demo.one2multi import com.alibaba.testable.core.annotation.MockWith -import com.alibaba.testable.core.matcher.InvokeVerifier.verify +import com.alibaba.testable.core.matcher.InvocationVerifier.verifyInvoked import org.junit.jupiter.api.Assertions.assertEquals import org.junit.jupiter.api.Test @@ -17,9 +17,9 @@ class OneToMultiSvcTest { assertEquals("a_mock", aSvc.demo("test")) assertEquals("b_mock", bSvc.demo("test")) assertEquals("c_mock", cSvc.demo("test")) - verify("a_format").withTimes(1) - verify("b_format").withTimes(1) - verify("c_format").withTimes(1) + verifyInvoked("a_format").withTimes(1) + verifyInvoked("b_format").withTimes(1) + verifyInvoked("c_format").withTimes(1) } } diff --git a/demo/spock-demo/src/test/groovy/com/github/pbetkier/spockdemo/DemoSpockTest.groovy b/demo/spock-demo/src/test/groovy/com/github/pbetkier/spockdemo/DemoSpockTest.groovy index 5810d8a..c80af68 100644 --- a/demo/spock-demo/src/test/groovy/com/github/pbetkier/spockdemo/DemoSpockTest.groovy +++ b/demo/spock-demo/src/test/groovy/com/github/pbetkier/spockdemo/DemoSpockTest.groovy @@ -6,7 +6,7 @@ import com.github.pbetkier.spockdemo.model.SpockBox import spock.lang.Shared import spock.lang.Specification -import static com.alibaba.testable.core.matcher.InvokeVerifier.verify; +import static com.alibaba.testable.core.matcher.InvocationVerifier.verifyInvoked; class DemoSpockTest extends Specification { @@ -37,8 +37,8 @@ class DemoSpockTest extends Specification { box.pop() == "mock 2" box.pop() == "mock 1" box.pop() == "mock zero" - verify("createBox").withTimes(1) - verify("putBox").withInOrder("1").withInOrder("2").withInOrder("3") + verifyInvoked("createBox").withTimes(1) + verifyInvoked("putBox").withInOrder("1").withInOrder("2").withInOrder("3") } } diff --git a/docs/en-us/doc/invoke-matcher.md b/docs/en-us/doc/invoke-matcher.md index 26027d5..aa4719f 100644 --- a/docs/en-us/doc/invoke-matcher.md +++ b/docs/en-us/doc/invoke-matcher.md @@ -9,7 +9,7 @@ The **verifiers** and **matchers** are provided in `TestableMock` to achieve thi @Test public test_case() { int res = insToTest.methodToTest(); - verify("mockMethod").with(123, "abc"); + verifyInvoked("mockMethod").with(123, "abc"); } ``` diff --git a/docs/en-us/doc/test-void-method.md b/docs/en-us/doc/test-void-method.md index e6a2b2c..20ed59e 100644 --- a/docs/en-us/doc/test-void-method.md +++ b/docs/en-us/doc/test-void-method.md @@ -70,7 +70,7 @@ class Demo { To test this method, you can use `TestableMock` to quickly mock out the `System.out.println` method. In the mock method body, you can simply call the original method (equivalent to not affecting the original method function, only used for call recording), or leave it blank (equivalent to removing the side effects of the original method). -After executing the void type method under test, use `InvokeVerifier.verify()` to verify whether the incoming print content meets expectations: +After executing the void type method under test, use `InvocationVerifier.verifyInvoked()` to verify whether the incoming print content meets expectations: ```java class DemoTest { @@ -90,7 +90,7 @@ class DemoTest { Action action = new Action("click", ":download"); demo.recordAction(); // Verify mock method `println` is invoked, and passing parameters in line with expectations - verify("println").with(matches("\\d{4}-\\d{2}-\\d{2} \\d{2}:\\d{2}:\\d{2} \\[click\\] :download")); + verifyInvoked("println").with(matches("\\d{4}-\\d{2}-\\d{2} \\d{2}:\\d{2}:\\d{2} \\[click\\] :download")); } } ``` diff --git a/docs/en-us/doc/upgrade-guide.md b/docs/en-us/doc/upgrade-guide.md index fd7443b..2d60807 100644 --- a/docs/en-us/doc/upgrade-guide.md +++ b/docs/en-us/doc/upgrade-guide.md @@ -39,7 +39,7 @@ public class DemoMockTest { @Test void should_mock_member_method() throws Exception { assertEquals("hello_world", demoMock.outerFunc()); - verify("innerFunc").with("world"); + verifyInvoked("innerFunc").with("world"); } } ``` @@ -59,7 +59,7 @@ public class DemoMockTest { @Test void should_mock_member_method() throws Exception { assertEquals("hello_world", demoMock.outerFunc()); - verify("innerFunc").with("world"); + verifyInvoked("innerFunc").with("world"); } } ``` diff --git a/docs/en-us/doc/use-mock.md b/docs/en-us/doc/use-mock.md index 85098af..a0ce422 100644 --- a/docs/en-us/doc/use-mock.md +++ b/docs/en-us/doc/use-mock.md @@ -163,7 +163,7 @@ For complete code examples, see the `should_get_source_method_name()` and `shoul ### 3. Verify the sequence and parameters of the mock method being invoked -In test cases, you can use the `InvokeVerifier.verify()` method, and cooperate with `with()`, `withInOrder()`, `without()`, `withTimes()` and other methods to verify the mock call situation. +In test cases, you can use the `InvocationVerifier.verifyInvoked()` method, and cooperate with `with()`, `withInOrder()`, `without()`, `withTimes()` and other methods to verify the mock call situation. For details, please refer to the [Check Mock Call](en-us/doc/matcher.md) document. diff --git a/docs/zh-cn/doc/invoke-matcher.md b/docs/zh-cn/doc/invoke-matcher.md index ef9a81f..a4305c9 100644 --- a/docs/zh-cn/doc/invoke-matcher.md +++ b/docs/zh-cn/doc/invoke-matcher.md @@ -9,7 +9,7 @@ @Test public test_case() { int res = insToTest.methodToTest(); - verify("mockMethod").with(123, "abc"); + verifyInvoked("mockMethod").with(123, "abc"); } ``` diff --git a/docs/zh-cn/doc/javaagent-args.md b/docs/zh-cn/doc/javaagent-args.md index f730f89..d88ac0f 100644 --- a/docs/zh-cn/doc/javaagent-args.md +++ b/docs/zh-cn/doc/javaagent-args.md @@ -59,4 +59,4 @@ 若项目测试中,既包含真实的单元测试,又包含了使用单元测试框架编写的集成测试时。为了让集成测试的执行过程不受Mock影响,可能需要使用`mock.scope.default`将默认的Mock方法范围限制为仅对所属类型的单元测试用例生效。 -若需Mock的调用发生在线程池中,且遇到`verify()`结果或`MOCK_CONTEXT`内容不正确的时候,则需考虑开启`thread.pool.enhance.enable`配置,详见[Mock线程池内的调用](zh-cn/doc/with-thread-pool.md)。 +若需Mock的调用发生在线程池中,且遇到`verifyInvoked()`结果或`MOCK_CONTEXT`内容不正确的时候,则需考虑开启`thread.pool.enhance.enable`配置,详见[Mock线程池内的调用](zh-cn/doc/with-thread-pool.md)。 diff --git a/docs/zh-cn/doc/test-void-method.md b/docs/zh-cn/doc/test-void-method.md index d54f415..d74f7a0 100644 --- a/docs/zh-cn/doc/test-void-method.md +++ b/docs/zh-cn/doc/test-void-method.md @@ -71,7 +71,7 @@ class Demo { 若要测试此方法,可以利用`TestableMock`快速Mock掉`System.out.println`方法。在Mock方法体里可以继续执行原调用(相当于并不影响本来方法功能,仅用于做调用记录),也可以直接留空(相当于去除了原方法的副作用)。 -在执行完被测的void类型方法以后,用`InvokeVerifier.verify()`校验传入的打印内容是否符合预期: +在执行完被测的void类型方法以后,用`InvocationVerifier.verifyInvoked()`校验传入的打印内容是否符合预期: ```java class DemoTest { @@ -91,7 +91,7 @@ class DemoTest { Action action = new Action("click", ":download"); demo.recordAction(); // 验证Mock方法println被调用,且传入参数格式符合预期 - verify("println").with(matches("\\d{4}-\\d{2}-\\d{2} \\d{2}:\\d{2}:\\d{2} \\[click\\] :download")); + verifyInvoked("println").with(matches("\\d{4}-\\d{2}-\\d{2} \\d{2}:\\d{2}:\\d{2} \\[click\\] :download")); } } ``` diff --git a/docs/zh-cn/doc/upgrade-guide.md b/docs/zh-cn/doc/upgrade-guide.md index b671749..920496d 100644 --- a/docs/zh-cn/doc/upgrade-guide.md +++ b/docs/zh-cn/doc/upgrade-guide.md @@ -39,7 +39,7 @@ public class DemoMockTest { @Test void should_mock_member_method() throws Exception { assertEquals("hello_world", demoMock.outerFunc()); - verify("innerFunc").with("world"); + verifyInvoked("innerFunc").with("world"); } } ``` @@ -59,7 +59,7 @@ public class DemoMockTest { @Test void should_mock_member_method() throws Exception { assertEquals("hello_world", demoMock.outerFunc()); - verify("innerFunc").with("world"); + verifyInvoked("innerFunc").with("world"); } } ``` diff --git a/docs/zh-cn/doc/use-mock.md b/docs/zh-cn/doc/use-mock.md index 5cd06f2..5ef40b3 100644 --- a/docs/zh-cn/doc/use-mock.md +++ b/docs/zh-cn/doc/use-mock.md @@ -163,7 +163,7 @@ private Data mockDemo() { ### 3. 验证Mock方法被调用的顺序和参数 -在测试用例中可用通过`InvokeVerifier.verify()`方法,配合`with()`、`withInOrder()`、`without()`、`withTimes()`等方法实现对Mock调用情况的验证。 +在测试用例中可用通过`InvocationVerifier.verifyInvoked()`方法,配合`with()`、`withInOrder()`、`without()`、`withTimes()`等方法实现对Mock调用情况的验证。 详见[校验Mock调用](zh-cn/doc/matcher.md)文档。 diff --git a/docs/zh-cn/doc/with-thread-pool.md b/docs/zh-cn/doc/with-thread-pool.md index ef65c71..1d1705e 100644 --- a/docs/zh-cn/doc/with-thread-pool.md +++ b/docs/zh-cn/doc/with-thread-pool.md @@ -3,7 +3,7 @@ Mock线程池内的调用 `TestableMock`采用来自[transmittable-thread-local](https://github.com/alibaba/transmittable-thread-local)项目的`TransmittableThreadLocal`类型存储测试用例运行期的`MOCK_CONTEXT`内容和Mock方法调用过程。 -当线程池中的执行对象未经过`TtlRunnable`或`TtlCallable`处理时,`TransmittableThreadLocal`将自动降级为与`InheritableThreadLocal`等效的类型,即只对父子线程有效,无法在线程池上下文中正常传递存储数据。因而会导致`MOCK_CONTEXT`内容丢失和`verify()`方法校验结果不正确的情况。 +当线程池中的执行对象未经过`TtlRunnable`或`TtlCallable`处理时,`TransmittableThreadLocal`将自动降级为与`InheritableThreadLocal`等效的类型,即只对父子线程有效,无法在线程池上下文中正常传递存储数据。因而会导致`MOCK_CONTEXT`内容丢失和`verifyInvoked()`方法校验结果不正确的情况。 为此,可以启用[Testable全局配置](zh-cn/doc/javaagent-args.md)`thread.pool.enhance.enable=true`,来自动在测试启动时自动封装程序中的普通`Runnable`和`Callable`对象,使`TransmittableThreadLocal`恢复跨线程池存储数据的能力。 diff --git a/testable-core/src/main/java/com/alibaba/testable/core/matcher/InvokeMatcher.java b/testable-core/src/main/java/com/alibaba/testable/core/matcher/InvocationMatcher.java similarity index 72% rename from testable-core/src/main/java/com/alibaba/testable/core/matcher/InvokeMatcher.java rename to testable-core/src/main/java/com/alibaba/testable/core/matcher/InvocationMatcher.java index 8488d5b..2fcca6a 100644 --- a/testable-core/src/main/java/com/alibaba/testable/core/matcher/InvokeMatcher.java +++ b/testable-core/src/main/java/com/alibaba/testable/core/matcher/InvocationMatcher.java @@ -10,19 +10,19 @@ import java.util.Set; /** * @author flin */ -public class InvokeMatcher { +public class InvocationMatcher { public MatchFunction matchFunction; - private InvokeMatcher(MatchFunction matchFunction) { + private InvocationMatcher(MatchFunction matchFunction) { this.matchFunction = matchFunction; } - public static InvokeMatcher any(MatchFunction matcher) { - return new InvokeMatcher(matcher); + public static InvocationMatcher any(MatchFunction matcher) { + return new InvocationMatcher(matcher); } - public static InvokeMatcher any() { + public static InvocationMatcher any() { return any(new MatchFunction() { @Override public boolean check(Object value) { @@ -31,47 +31,47 @@ public class InvokeMatcher { }); } - public static InvokeMatcher anyString() { + public static InvocationMatcher anyString() { return any(String.class); } - public static InvokeMatcher anyNumber() { + public static InvocationMatcher anyNumber() { return anyTypeOf(Short.class, Integer.class, Long.class, Float.class, Double.class); } - public static InvokeMatcher anyBoolean() { + public static InvocationMatcher anyBoolean() { return any(Boolean.class); } - public static InvokeMatcher anyByte() { + public static InvocationMatcher anyByte() { return any(Byte.class); } - public static InvokeMatcher anyChar() { + public static InvocationMatcher anyChar() { return any(Character.class); } - public static InvokeMatcher anyInt() { + public static InvocationMatcher anyInt() { return any(Integer.class); } - public static InvokeMatcher anyLong() { + public static InvocationMatcher anyLong() { return any(Long.class); } - public static InvokeMatcher anyFloat() { + public static InvocationMatcher anyFloat() { return any(Float.class); } - public static InvokeMatcher anyDouble() { + public static InvocationMatcher anyDouble() { return any(Double.class); } - public static InvokeMatcher anyShort() { + public static InvocationMatcher anyShort() { return any(Short.class); } - public static InvokeMatcher anyArray() { + public static InvocationMatcher anyArray() { return any(new MatchFunction() { @Override public boolean check(Object value) { @@ -81,7 +81,7 @@ public class InvokeMatcher { }); } - public static InvokeMatcher anyArrayOf(final Class clazz) { + public static InvocationMatcher anyArrayOf(final Class clazz) { return any(new MatchFunction() { @Override public boolean check(Object value) { @@ -92,47 +92,47 @@ public class InvokeMatcher { }); } - public static InvokeMatcher anyList() { + public static InvocationMatcher anyList() { return any(List.class); } - public static InvokeMatcher anyListOf(final Class clazz) { + public static InvocationMatcher anyListOf(final Class clazz) { return anyClassWithCollectionOf(List.class, clazz); } - public static InvokeMatcher anySet() { + public static InvocationMatcher anySet() { return any(Set.class); } - public static InvokeMatcher anySetOf(final Class clazz) { + public static InvocationMatcher anySetOf(final Class clazz) { return anyClassWithCollectionOf(Set.class, clazz); } - public static InvokeMatcher anyMap() { + public static InvocationMatcher anyMap() { return any(Map.class); } - public static InvokeMatcher anyMapOf(final Class keyClass, final Class valueClass) { + public static InvocationMatcher anyMapOf(final Class keyClass, final Class valueClass) { return anyClassWithMapOf(keyClass, valueClass); } - public static InvokeMatcher anyCollection() { + public static InvocationMatcher anyCollection() { return any(Collection.class); } - public static InvokeMatcher anyCollectionOf(final Class clazz) { + public static InvocationMatcher anyCollectionOf(final Class clazz) { return anyClassWithCollectionOf(Collection.class, clazz); } - public static InvokeMatcher anyIterable() { + public static InvocationMatcher anyIterable() { return any(Iterable.class); } - public static InvokeMatcher anyIterableOf(final Class clazz) { + public static InvocationMatcher anyIterableOf(final Class clazz) { return anyClassWithCollectionOf(Iterable.class, clazz); } - public static InvokeMatcher any(final Class clazz) { + public static InvocationMatcher any(final Class clazz) { return any(new MatchFunction() { @Override public boolean check(Object value) { @@ -141,7 +141,7 @@ public class InvokeMatcher { }); } - public static InvokeMatcher anyTypeOf(final Class... classes) { + public static InvocationMatcher anyTypeOf(final Class... classes) { return any(new MatchFunction() { @Override public boolean check(Object value) { @@ -158,7 +158,7 @@ public class InvokeMatcher { }); } - public static InvokeMatcher eq(final Object obj) { + public static InvocationMatcher eq(final Object obj) { return any(new MatchFunction() { @Override public boolean check(Object value) { @@ -167,7 +167,7 @@ public class InvokeMatcher { }); } - public static InvokeMatcher refEq(final Object obj) { + public static InvocationMatcher refEq(final Object obj) { return any(new MatchFunction() { @Override public boolean check(Object value) { @@ -176,7 +176,7 @@ public class InvokeMatcher { }); } - public static InvokeMatcher isNull() { + public static InvocationMatcher isNull() { return any(new MatchFunction() { @Override public boolean check(Object value) { @@ -185,7 +185,7 @@ public class InvokeMatcher { }); } - public static InvokeMatcher notNull() { + public static InvocationMatcher notNull() { return any(new MatchFunction() { @Override public boolean check(Object value) { @@ -194,7 +194,7 @@ public class InvokeMatcher { }); } - public static InvokeMatcher nullable(final Class clazz) { + public static InvocationMatcher nullable(final Class clazz) { return any(new MatchFunction() { @Override public boolean check(Object value) { @@ -203,7 +203,7 @@ public class InvokeMatcher { }); } - public static InvokeMatcher contains(final String substring) { + public static InvocationMatcher contains(final String substring) { return any(new MatchFunction() { @Override public boolean check(Object value) { @@ -212,7 +212,7 @@ public class InvokeMatcher { }); } - public static InvokeMatcher matches(final String regex) { + public static InvocationMatcher matches(final String regex) { return any(new MatchFunction() { @Override public boolean check(Object value) { @@ -221,7 +221,7 @@ public class InvokeMatcher { }); } - public static InvokeMatcher endsWith(final String suffix) { + public static InvocationMatcher endsWith(final String suffix) { return any(new MatchFunction() { @Override public boolean check(Object value) { @@ -230,7 +230,7 @@ public class InvokeMatcher { }); } - public static InvokeMatcher startsWith(final String prefix) { + public static InvocationMatcher startsWith(final String prefix) { return any(new MatchFunction() { @Override public boolean check(Object value) { @@ -239,7 +239,7 @@ public class InvokeMatcher { }); } - private static InvokeMatcher anyClassWithCollectionOf(final Class collectionClass, final Class clazz) { + private static InvocationMatcher anyClassWithCollectionOf(final Class collectionClass, final Class clazz) { return any(new MatchFunction() { @Override public boolean check(Object value) { @@ -250,7 +250,7 @@ public class InvokeMatcher { }); } - private static InvokeMatcher anyClassWithMapOf(final Class keyClass, final Class valueClass) { + private static InvocationMatcher anyClassWithMapOf(final Class keyClass, final Class valueClass) { return any(new MatchFunction() { @Override public boolean check(Object value) { diff --git a/testable-core/src/main/java/com/alibaba/testable/core/matcher/InvokeVerifier.java b/testable-core/src/main/java/com/alibaba/testable/core/matcher/InvocationVerifier.java similarity index 85% rename from testable-core/src/main/java/com/alibaba/testable/core/matcher/InvokeVerifier.java rename to testable-core/src/main/java/com/alibaba/testable/core/matcher/InvocationVerifier.java index 6cb7246..ed6a61f 100644 --- a/testable-core/src/main/java/com/alibaba/testable/core/matcher/InvokeVerifier.java +++ b/testable-core/src/main/java/com/alibaba/testable/core/matcher/InvocationVerifier.java @@ -11,12 +11,12 @@ import java.util.List; /** * @author flin */ -public class InvokeVerifier { +public class InvocationVerifier { private final List records; private Verification lastVerification = null; - private InvokeVerifier(List records) { + private InvocationVerifier(List records) { this.records = records; } @@ -25,8 +25,8 @@ public class InvokeVerifier { * @param mockMethodName name of a mock method * @return the verifier object */ - public static InvokeVerifier verify(String mockMethodName) { - return new InvokeVerifier(MockContextUtil.context.get().invokeRecord.get(mockMethodName)); + public static InvocationVerifier verifyInvoked(String mockMethodName) { + return new InvocationVerifier(MockContextUtil.context.get().invokeRecord.get(mockMethodName)); } /** @@ -34,7 +34,7 @@ public class InvokeVerifier { * @param args parameters to compare * @return the verifier object */ - public InvokeVerifier with(Object... args) { + public InvocationVerifier with(Object... args) { boolean found = false; for (int i = 0; i < records.size(); i++) { try { @@ -57,7 +57,7 @@ public class InvokeVerifier { * @param args parameters to compare * @return the verifier object */ - public InvokeVerifier withInOrder(Object... args) { + public InvocationVerifier withInOrder(Object... args) { withInternal(args, 0); lastVerification = new Verification(args, true); return this; @@ -68,7 +68,7 @@ public class InvokeVerifier { * @param args parameters to compare * @return the verifier object */ - public InvokeVerifier without(Object... args) { + public InvocationVerifier without(Object... args) { for (Object[] r : records) { if (r.length == args.length) { for (int i = 0; i < r.length; i++) { @@ -90,7 +90,7 @@ public class InvokeVerifier { * @param expectedCount times to compare * @return the verifier object */ - public InvokeVerifier withTimes(int expectedCount) { + public InvocationVerifier withTimes(int expectedCount) { if (expectedCount != records.size()) { throw new VerifyFailedError("times: " + expectedCount, "times: " + records.size()); } @@ -103,7 +103,7 @@ public class InvokeVerifier { * @param count number of invocations * @return the verifier object */ - public InvokeVerifier times(int count) { + public InvocationVerifier times(int count) { if (lastVerification == null) { // when used independently, equals to `withTimes()` System.out.println("Warning: [" + TestableUtil.previousStackLocation() + "] using \"times()\" method " @@ -133,7 +133,7 @@ public class InvokeVerifier { throw new VerifyFailedError(desc(args), desc(record)); } for (int i = 0; i < args.length; i++) { - if (!(args[i] instanceof InvokeMatcher || args[i].getClass().equals(record[i].getClass()))) { + if (!(args[i] instanceof InvocationMatcher || args[i].getClass().equals(record[i].getClass()))) { throw new VerifyFailedError("parameter " + (i + 1) + " type mismatch", ": " + args[i].getClass(), ": " + record[i].getClass()); } @@ -145,8 +145,8 @@ public class InvokeVerifier { } private boolean matches(Object expectValue, Object realValue) { - return expectValue instanceof InvokeMatcher ? - ((InvokeMatcher) expectValue).matchFunction.check(realValue) : + return expectValue instanceof InvocationMatcher ? + ((InvocationMatcher) expectValue).matchFunction.check(realValue) : expectValue.equals(realValue); }