test: genService 单元测试方法

main
13009 2024-06-21 09:49:01 +08:00
parent cef2ff96e7
commit f835488f07
2 changed files with 50 additions and 0 deletions

View File

@ -1,6 +1,7 @@
package com.czcb.scfs.api.test; package com.czcb.scfs.api.test;
import lombok.experimental.UtilityClass; import lombok.experimental.UtilityClass;
import org.assertj.core.util.Lists;
import java.lang.reflect.Method; import java.lang.reflect.Method;
import java.math.BigDecimal; import java.math.BigDecimal;
@ -182,4 +183,47 @@ public class RefGenTestMethod {
.replace("\"", "")); .replace("\"", ""));
} }
} }
public static void genService(Class<?> clazz) {
print("import com.czcb.scfs.api.core.ApiClient;\n" +
"import com.czcb.scfs.api.core.http.HttpHeaders;\n" +
"import com.czcb.scfs.api.core.http.HttpResponse;\n" +
"import com.czcb.scfs.api.core.http.RequestBody;\n" +
"import com.czcb.scfs.api.core.util.Json;\n" +
"import com.czcb.scfs.api.service.TestHttpResponse;\n" +
"import com.czcb.scfs.api.service.v2.*;\n" +
"import com.czcb.scfs.api.service.v1.*;\n" +
"import org.assertj.core.util.Lists;\n" +
"import org.junit.jupiter.api.Assertions;\n" +
"import org.junit.jupiter.api.Test;\n" +
"import org.junit.jupiter.api.extension.ExtendWith;\n" +
"import org.mockito.InjectMocks;\n" +
"import org.mockito.Mock;\n" +
"import org.mockito.Mockito;\n" +
"import org.mockito.junit.jupiter.MockitoExtension;\n" +
"\n" +
"import java.math.BigDecimal;\n\n");
print("@ExtendWith(MockitoExtension.class)\n");
print("void %sTest {\n", clazz.getSimpleName());
print("@InjectMocks\n");
print("private %s service\n\n", clazz.getSimpleName());
print("@Mocks\n");
print("private ApiClient apiClient\n\n");
Method[] methods = clazz.getMethods();
for (Method method : methods) {
if (Lists.list("getClass", "hashCode", "equals", "clone", "toString", "notify", "notifyAll", "wait", "finalize").contains(method.getName())) {
continue;
}
String name = method.getName();
Class<?> response = method.getReturnType();
Class<?> request = method.getParameterTypes()[0];
gen(request, response, name, method.getName());
}
print("}\n");
}
} }

View File

@ -1,5 +1,6 @@
package com.czcb.scfs.api.test; package com.czcb.scfs.api.test;
import com.czcb.scfs.api.service.v2.account.AccountService;
import com.czcb.scfs.api.service.v2.account.model.*; import com.czcb.scfs.api.service.v2.account.model.*;
import com.czcb.scfs.api.service.v2.bills.model.*; import com.czcb.scfs.api.service.v2.bills.model.*;
import com.czcb.scfs.api.service.v2.bmd.model.*; import com.czcb.scfs.api.service.v2.bmd.model.*;
@ -273,4 +274,9 @@ class RefGenTestMethodTest {
// RefGenTestMethod.gen(TradeOrderRepayRequest.class, TradeOrderRepayResponse.class, // RefGenTestMethod.gen(TradeOrderRepayRequest.class, TradeOrderRepayResponse.class,
// "tradeOrderRepay", "/trade-orders/credit-repay"); // "tradeOrderRepay", "/trade-orders/credit-repay");
} }
@Test
void genServiceTest() {
RefGenTestMethod.genService(AccountService.class);
}
} }