diff --git a/hutool-core/src/test/java/cn/hutool/core/reflect/MethodUtilTest.java b/hutool-core/src/test/java/cn/hutool/core/reflect/MethodUtilTest.java index 1198aa049..cdd713d2f 100644 --- a/hutool-core/src/test/java/cn/hutool/core/reflect/MethodUtilTest.java +++ b/hutool-core/src/test/java/cn/hutool/core/reflect/MethodUtilTest.java @@ -6,6 +6,7 @@ import cn.hutool.core.lang.test.bean.ExamInfoDict; import cn.hutool.core.text.StrUtil; import cn.hutool.core.util.ArrayUtil; import cn.hutool.core.util.SystemUtil; +import lombok.Data; import org.junit.Assert; import org.junit.Ignore; import org.junit.Test; @@ -216,4 +217,33 @@ public class MethodUtilTest { } } } + + @Data + static class TestClass { + private int a; + } + + @Test + public void invokeMethodTest() { + final TestClass testClass = new TestClass(); + final Method method = MethodUtil.getMethod(TestClass.class, "setA", int.class); + MethodUtil.invoke(testClass, method, 10); + Assert.assertEquals(10, testClass.getA()); + } + + @Test + public void invokeMethodWithParamConvertTest() { + final TestClass testClass = new TestClass(); + final Method method = MethodUtil.getMethod(TestClass.class, "setA", int.class); + MethodUtil.invoke(testClass, method, "10"); + Assert.assertEquals(10, testClass.getA()); + } + + @Test + public void invokeMethodWithParamConvertFailedTest() { + final TestClass testClass = new TestClass(); + final Method method = MethodUtil.getMethod(TestClass.class, "setA", int.class); + Assert.assertThrows(IllegalArgumentException.class, + () -> MethodUtil.invoke(testClass, method, "NaN")); + } } diff --git a/hutool-extra/pom.xml b/hutool-extra/pom.xml index b3fe50e70..d03fe8fe1 100755 --- a/hutool-extra/pom.xml +++ b/hutool-extra/pom.xml @@ -479,7 +479,7 @@ com.alibaba QLExpress - 3.3.0 + 3.3.1 compile true