From 76e742ec0c506709e6804660f44568ae95184a3e Mon Sep 17 00:00:00 2001 From: Looly Date: Mon, 20 Feb 2023 09:49:29 +0800 Subject: [PATCH] add test --- .../hutool/core/reflect/MethodUtilTest.java | 30 +++++++++++++++++++ hutool-extra/pom.xml | 2 +- 2 files changed, 31 insertions(+), 1 deletion(-) 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