Auto-Unit-Test-Case-Generator automatically generates high-level code-coverage JUnit test suites for Java, widely used within the ANT Group.

Overview

中文README传送门

What is Auto-Unit-Test-Case-Generator

Auto-Unit-Test-Case-Generator generates JUnit test suites for Java class just as its name. During test generation, Auto-Unit-Test-Case-Generator aims to generate high code-coverage (e.g., Branch Coverage and Line Coverage) unit test suites with full automation. This tools is widely used in ANT Group, supports automatic generation of unit tests for more than 1000 projects. Advantages of Auto-Unit-Test-Case-Generator:

  • High coverage and assertion level

The average line coverage within Ant Group by using the generator is over 60% The unit test generated by this tool is highly effective assertions during the practice in Ant Group

  • Easy to use

The process of generation of this tool is fully automated.

Main Features

Auto-Unit-Test-Case-Generator is developed based on EvoSuite. In Auto-Unit-Test-Case-Generator, we optimized several algorithms to achieve higher code coverage, more efficiency and effectiveness, better structure of test case. Main Features of Auto-Unit-Test-Case-Generator:

  • Suitable for Spring Framework

In Auto-Unit-Test-Case-Generator, we can generate complete mock statements for autowired fields to form meaningful test case, avoid throwing NullPointerException.

  • More efficiency and effectiveness

Like EvoSuite, Auto-Unit-Test-Case-Generator also use the Search Based Software Testing(SBST) as main algorithm framework. However, random search algorithm will encounter performance problems when class under test uses lots of String which has almost infinite search space. In Auto-Unit-Test-Case-Generator, we proposed and achieved accutare search algorithm to achieve higher efficiency and effectiveness.

  • Better structure of test case

In Auto-Unit-Test-Case-Generator, the optimal call sequence algorithm is used through the initialization, insertion, modification and deletion of test case statements, so that the structure of test case is more readable and logical.

Building Auto-Unit-Test-Case-Generator

To install Auto-Unit-Test-Case-Generator by using Maven, run:

mvn clean install -Dmaven.test.skip=true

Copy smartut.jar to your own Execution path, for example, current path.

cp ${user.home}/.m2/repository/org/smartut/smartut-master/1.1.0/smartut-master-1.1.0.jar smartut.jar

Using Auto-Unit-Test-Case-Generator

Prepare dependencies

Before using smartut.jar to generate cases, You need to execute the following commands to prepare dependencies in project under test.

mvn clean compile
mvn clean install -Dmaven.test.skip=true
mvn dependency:copy-dependencies

Setup

To generate unit test suites, the generator needs to be set up by project classpath first.

java -jar ./smartut.jar -setup example/target/classes/ example/target/dependency/*.jar

Generate for a specific class

You can run this command to generate unit test suites for a specific class

java -jar ./smartut.jar -class com.alipay.test.example

Generate for entire folder

You can run this command to generate unit test suites for all classes in classes folder:

java -jar ./smartut.jar -target example/target/classes/

Contact us

If you encounter any problems during use this generator, please contact us via email: [email protected]

Also, Auto-Unit-Test-Case-Generator is providing Software-as-a-Service (SaaS). It supports the full lifecycle/evolution of unit test cases, including test case generation, execution,iteration and regression analysis . All stages are triggered automatically by simply providing Github or Gitee link. You can visit our SaaS website through https://smartunit.opentrs.com.

Comments
  • where is the project introduction in Chinese?

    where is the project introduction in Chinese?

    wow! Such a amazing open resource project! This project shows excellent development skills of Alibaba! But as a Chinese, when I saw this README file I'm so puzzled about the README file, I found that there are only English verison of the file? why? where is the Chinese version? Do you think your project will being classy if you publish the English verison README file only? In view of this, I have to talk to you in English and I must give you a big zan! Finally, more Tester will suppose to see some Chinese upgrade in the project. At least the README...

    opened by RaySunWHUT 4
  • 按照操作对service层代码进行单元测试生成,后运行报错

    按照操作对service层代码进行单元测试生成,后运行报错

    Context

    Please provide below a detailed introduction to the issue itself, and describe what you were doing when the issue happened. Or, what do you want to achieve?

    按照操作对service层代码进行单元测试生成,后运行报错

    D:\PlayGround\sql-father-backend-public>java -jar ./smartut.jar -target target\classes\com\yupi\sqlfather\service

    • SmartUt 1.1.0
    • Found 10 matching classes in target target\classes\com\yupi\sqlfather\service
    • Analyzing classpath (generating inheritance tree)
      • target/classes
      • target/dependency/accessors-smart-2.4.8.jar
      • target/dependency/android-json-0.0.20131108.vaadin1.jar
      • target/dependency/animal-sniffer-annotations-1.17.jar
      • target/dependency/annotations-13.0.jar
      • target/dependency/apiguardian-api-1.1.2.jar
      • target/dependency/asm-9.1.jar
      • target/dependency/aspectjweaver-1.9.7.jar
      • target/dependency/assertj-core-3.22.0.jar
      • target/dependency/automaton-1.11-8.jar
      • target/dependency/byte-buddy-1.12.12.jar
      • target/dependency/byte-buddy-agent-1.12.12.jar
      • target/dependency/cache-api-1.1.1.jar
      • target/dependency/checker-compat-qual-2.5.2.jar
      • target/dependency/classgraph-4.8.83.jar
      • target/dependency/classmate-1.5.1.jar
      • target/dependency/commons-codec-1.15.jar
      • target/dependency/commons-collections4-4.4.jar
      • target/dependency/commons-compress-1.19.jar
      • target/dependency/commons-csv-1.8.jar
      • target/dependency/commons-lang3-3.12.0.jar
      • target/dependency/commons-math3-3.6.1.jar
      • target/dependency/curvesapi-1.06.jar
      • target/dependency/datafaker-1.6.0.jar
      • target/dependency/druid-1.2.12.jar
      • target/dependency/easyexcel-3.1.1.jar
      • target/dependency/easyexcel-core-3.1.1.jar
      • target/dependency/easyexcel-support-3.1.1.jar
      • target/dependency/ehcache-3.10.0.jar
      • target/dependency/error_prone_annotations-2.2.0.jar
      • target/dependency/evosuite-standalone-runtime-1.0.6.jar
      • target/dependency/failureaccess-1.0.1.jar
      • target/dependency/freemarker-2.3.31.jar
      • target/dependency/generex-1.0.2.jar
      • target/dependency/gson-2.9.1.jar
      • target/dependency/guava-27.0.1-android.jar
      • target/dependency/hamcrest-2.2.jar
      • target/dependency/HikariCP-4.0.3.jar
      • target/dependency/hutool-all-5.8.8.jar
      • target/dependency/istack-commons-runtime-3.0.12.jar
      • target/dependency/j2objc-annotations-1.1.jar
      • target/dependency/jackson-annotations-2.13.3.jar
      • target/dependency/jackson-core-2.13.3.jar
      • target/dependency/jackson-databind-2.13.3.jar
      • target/dependency/jackson-dataformat-yaml-2.13.3.jar
      • target/dependency/jackson-datatype-jdk8-2.13.3.jar
      • target/dependency/jackson-datatype-jsr310-2.13.3.jar
      • target/dependency/jackson-module-parameter-names-2.13.3.jar
      • target/dependency/jakarta.activation-1.2.2.jar
      • target/dependency/jakarta.activation-api-1.2.2.jar
      • target/dependency/jakarta.annotation-api-1.3.5.jar
      • target/dependency/jakarta.xml.bind-api-2.3.3.jar
      • target/dependency/javassist-3.25.0-GA.jar
      • target/dependency/jaxb-runtime-2.3.6.jar
      • target/dependency/json-path-2.7.0.jar
      • target/dependency/json-smart-2.4.8.jar
      • target/dependency/jsonassert-1.5.1.jar
      • target/dependency/jsqlparser-4.4.jar
      • target/dependency/jsr305-3.0.2.jar
      • target/dependency/jul-to-slf4j-1.7.36.jar
      • target/dependency/junit-jupiter-5.8.2.jar
      • target/dependency/junit-jupiter-api-5.8.2.jar
      • target/dependency/junit-jupiter-engine-5.8.2.jar
      • target/dependency/junit-jupiter-params-5.8.2.jar
      • target/dependency/junit-platform-commons-1.8.2.jar
      • target/dependency/junit-platform-engine-1.8.2.jar
      • target/dependency/knife4j-annotations-3.0.3.jar
      • target/dependency/knife4j-core-3.0.3.jar
      • target/dependency/knife4j-spring-3.0.3.jar
      • target/dependency/knife4j-spring-boot-autoconfigure-3.0.3.jar
      • target/dependency/knife4j-spring-boot-starter-3.0.3.jar
      • target/dependency/knife4j-spring-ui-3.0.3.jar
      • target/dependency/kotlin-stdlib-1.6.21.jar
      • target/dependency/kotlin-stdlib-common-1.6.21.jar
      • target/dependency/kotlin-stdlib-jdk7-1.6.21.jar
      • target/dependency/kotlin-stdlib-jdk8-1.6.21.jar
      • target/dependency/listenablefuture-9999.0-empty-to-avoid-conflict-with-guava.jar
      • target/dependency/log4j-api-2.17.2.jar
      • target/dependency/log4j-to-slf4j-2.17.2.jar
      • target/dependency/logback-classic-1.2.11.jar
      • target/dependency/logback-core-1.2.11.jar
      • target/dependency/lombok-1.18.24.jar
      • target/dependency/mapstruct-1.3.1.Final.jar
      • target/dependency/mockito-core-4.5.1.jar
      • target/dependency/mockito-junit-jupiter-4.5.1.jar
      • target/dependency/mybatis-3.5.9.jar
      • target/dependency/mybatis-plus-3.5.2.jar
      • target/dependency/mybatis-plus-annotation-3.5.2.jar
      • target/dependency/mybatis-plus-boot-starter-3.5.2.jar
      • target/dependency/mybatis-plus-core-3.5.2.jar
      • target/dependency/mybatis-plus-extension-3.5.2.jar
      • target/dependency/mybatis-spring-2.0.7.jar
      • target/dependency/mybatis-spring-boot-autoconfigure-2.2.2.jar
      • target/dependency/mybatis-spring-boot-starter-2.2.2.jar
      • target/dependency/mysql-connector-java-8.0.29.jar
      • target/dependency/objenesis-3.2.jar
      • target/dependency/opentest4j-1.2.0.jar
      • target/dependency/poi-4.1.2.jar
      • target/dependency/poi-ooxml-4.1.2.jar
      • target/dependency/poi-ooxml-schemas-4.1.2.jar
      • target/dependency/slf4j-api-1.7.36.jar
      • target/dependency/snakeyaml-1.30.jar
      • target/dependency/SparseBitSet-1.2.jar
      • target/dependency/spring-aop-5.3.22.jar
      • target/dependency/spring-beans-5.3.22.jar
      • target/dependency/spring-boot-2.7.2.jar
      • target/dependency/spring-boot-autoconfigure-2.7.2.jar
      • target/dependency/spring-boot-configuration-processor-2.7.2.jar
      • target/dependency/spring-boot-devtools-2.7.2.jar
      • target/dependency/spring-boot-starter-2.7.2.jar
      • target/dependency/spring-boot-starter-aop-2.7.2.jar
      • target/dependency/spring-boot-starter-freemarker-2.7.2.jar
      • target/dependency/spring-boot-starter-jdbc-2.7.2.jar
      • target/dependency/spring-boot-starter-json-2.7.2.jar
      • target/dependency/spring-boot-starter-logging-2.7.2.jar
      • target/dependency/spring-boot-starter-test-2.7.2.jar
      • target/dependency/spring-boot-starter-tomcat-2.7.2.jar
      • target/dependency/spring-boot-starter-web-2.7.2.jar
      • target/dependency/spring-boot-test-2.7.2.jar
      • target/dependency/spring-boot-test-autoconfigure-2.7.2.jar
      • target/dependency/spring-context-5.3.22.jar
      • target/dependency/spring-context-support-5.3.22.jar
      • target/dependency/spring-core-5.3.22.jar
      • target/dependency/spring-expression-5.3.22.jar
      • target/dependency/spring-jcl-5.3.22.jar
      • target/dependency/spring-jdbc-5.3.22.jar
      • target/dependency/spring-plugin-core-2.0.0.RELEASE.jar
      • target/dependency/spring-plugin-metadata-2.0.0.RELEASE.jar
      • target/dependency/spring-test-5.3.22.jar
      • target/dependency/spring-tx-5.3.22.jar
      • target/dependency/spring-web-5.3.22.jar
      • target/dependency/spring-webmvc-5.3.22.jar
      • target/dependency/springfox-bean-validators-3.0.0.jar
      • target/dependency/springfox-boot-starter-3.0.0.jar
      • target/dependency/springfox-core-3.0.0.jar
      • target/dependency/springfox-data-rest-3.0.0.jar
      • target/dependency/springfox-oas-3.0.0.jar
      • target/dependency/springfox-schema-3.0.0.jar
      • target/dependency/springfox-spi-3.0.0.jar
      • target/dependency/springfox-spring-web-3.0.0.jar
      • target/dependency/springfox-spring-webflux-3.0.0.jar
      • target/dependency/springfox-spring-webmvc-3.0.0.jar
      • target/dependency/springfox-swagger-common-3.0.0.jar
      • target/dependency/springfox-swagger2-3.0.0.jar
      • target/dependency/swagger-annotations-1.5.22.jar
      • target/dependency/swagger-annotations-2.1.2.jar
      • target/dependency/swagger-core-1.5.22.jar
      • target/dependency/swagger-models-1.5.22.jar
      • target/dependency/swagger-models-2.1.2.jar
      • target/dependency/tomcat-embed-core-9.0.65.jar
      • target/dependency/tomcat-embed-el-9.0.65.jar
      • target/dependency/tomcat-embed-websocket-9.0.65.jar
      • target/dependency/txw2-2.3.6.jar
      • target/dependency/validation-api-2.0.1.Final.jar
      • target/dependency/xmlbeans-3.1.0.jar
      • target/dependency/xmlunit-core-2.9.0.jar
      • target\classes\com\yupi\sqlfather\service
    • Skipping interface: DictService
    • Skipping interface: FieldInfoService
    • Current class: impl.DictServiceImpl
    • Going to generate test cases for class: impl.DictServiceImpl
    • Starting Client-0
    • Properties loaded from D:\PlayGround\sql-father-backend-public\smartut-files\smartut.properties
    • Connecting to master process on port 6409
    • Analyzing classpath: [MASTER] 11:36:35.014 [logback-1] WARN TestSuiteGenerator - initializeTargetClass start!
    • Inheritance tree loaded from C:\Users\ASUS\AppData\Local\Temp\ES_inheritancetree831980620130679995.xml.gz
    • Error while initializing target class: impl/DictServiceImpl (wrong name: com/yupi/sqlfather/service/impl/DictServiceImpl) [MASTER] 11:36:38.207 [logback-2] ERROR TestSuiteGenerator - Problem for impl.DictServiceImpl. Full stack: java.lang.ClassNotFoundException: impl/DictServiceImpl (wrong name: com/yupi/sqlfather/service/impl/DictServiceImpl) at org.smartut.instrumentation.InstrumentingClassLoader.instrumentClass(InstrumentingClassLoader.java:164) at org.smartut.instrumentation.InstrumentingClassLoader.loadClass(InstrumentingClassLoader.java:132) at java.lang.Class.forName0(Native Method) at java.lang.Class.forName(Class.java:348) 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:498) at org.smartut.testcase.statements.MethodStatement$1.execute(MethodStatement.java:262) at org.smartut.testcase.statements.AbstractStatement.exceptionHandler(AbstractStatement.java:177) at org.smartut.testcase.statements.MethodStatement.execute(MethodStatement.java:225) at org.smartut.testcase.execution.TestRunnable.executeStatements(TestRunnable.java:296) at org.smartut.testcase.execution.TestRunnable.call(TestRunnable.java:201) at org.smartut.testcase.execution.TestRunnable.call(TestRunnable.java:54) at java.util.concurrent.FutureTask.run(FutureTask.java:266) at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149) at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624) at java.lang.Thread.run(Thread.java:748) Caused by: java.lang.NoClassDefFoundError: impl/DictServiceImpl (wrong name: com/yupi/sqlfather/service/impl/DictServiceImpl) at java.lang.ClassLoader.defineClass1(Native Method) at java.lang.ClassLoader.defineClass(ClassLoader.java:756) at java.lang.ClassLoader.defineClass(ClassLoader.java:635) at org.smartut.instrumentation.InstrumentingClassLoader.instrumentClass(InstrumentingClassLoader.java:157) ... 17 common frames omitted
    • Computation finished [MASTER] 11:36:40.835 [main] ERROR SearchStatistics - No statistics has been saved because SmartUt failed to generate any test case [MASTER] 11:36:40.945 [main] ERROR TestGeneration - failed to write statistics data
    • Current class: impl.FieldServiceImpl
    • Going to generate test cases for class: impl.FieldServiceImpl
    • Starting Client-0
    • Properties loaded from D:\PlayGround\sql-father-backend-public\smartut-files\smartut.properties
    • Connecting to master process on port 21066
    • Analyzing classpath: [MASTER] 11:36:42.105 [logback-1] WARN TestSuiteGenerator - initializeTargetClass start!
    • Inheritance tree loaded from C:\Users\ASUS\AppData\Local\Temp\ES_inheritancetree831980620130679995.xml.gz
    • Error while initializing target class: impl/FieldServiceImpl (wrong name: com/yupi/sqlfather/service/impl/FieldServiceImpl) [MASTER] 11:36:45.334 [logback-2] ERROR TestSuiteGenerator - Problem for impl.FieldServiceImpl. Full stack: java.lang.ClassNotFoundException: impl/FieldServiceImpl (wrong name: com/yupi/sqlfather/service/impl/FieldServiceImpl) at org.smartut.instrumentation.InstrumentingClassLoader.instrumentClass(InstrumentingClassLoader.java:164) at org.smartut.instrumentation.InstrumentingClassLoader.loadClass(InstrumentingClassLoader.java:132) at java.lang.Class.forName0(Native Method) at java.lang.Class.forName(Class.java:348) 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:498) at org.smartut.testcase.statements.MethodStatement$1.execute(MethodStatement.java:262) at org.smartut.testcase.statements.AbstractStatement.exceptionHandler(AbstractStatement.java:177) at org.smartut.testcase.statements.MethodStatement.execute(MethodStatement.java:225) at org.smartut.testcase.execution.TestRunnable.executeStatements(TestRunnable.java:296) at org.smartut.testcase.execution.TestRunnable.call(TestRunnable.java:201) at org.smartut.testcase.execution.TestRunnable.call(TestRunnable.java:54) at java.util.concurrent.FutureTask.run(FutureTask.java:266) at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149) at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624) at java.lang.Thread.run(Thread.java:748) Caused by: java.lang.NoClassDefFoundError: impl/FieldServiceImpl (wrong name: com/yupi/sqlfather/service/impl/FieldServiceImpl) at java.lang.ClassLoader.defineClass1(Native Method) at java.lang.ClassLoader.defineClass(ClassLoader.java:756) at java.lang.ClassLoader.defineClass(ClassLoader.java:635) at org.smartut.instrumentation.InstrumentingClassLoader.instrumentClass(InstrumentingClassLoader.java:157) ... 17 common frames omitted
    • Computation finished [MASTER] 11:36:47.940 [main] ERROR SearchStatistics - No statistics has been saved because SmartUt failed to generate any test case [MASTER] 11:36:48.051 [main] ERROR TestGeneration - failed to write statistics data
    • Current class: impl.ReportServiceImpl
    • Going to generate test cases for class: impl.ReportServiceImpl
    • Starting Client-0
    • Properties loaded from D:\PlayGround\sql-father-backend-public\smartut-files\smartut.properties
    • Connecting to master process on port 15172
    • Analyzing classpath: [MASTER] 11:36:49.200 [logback-1] WARN TestSuiteGenerator - initializeTargetClass start!
    • Inheritance tree loaded from C:\Users\ASUS\AppData\Local\Temp\ES_inheritancetree831980620130679995.xml.gz
    • Error while initializing target class: impl/ReportServiceImpl (wrong name: com/yupi/sqlfather/service/impl/ReportServiceImpl) [MASTER] 11:36:52.362 [logback-2] ERROR TestSuiteGenerator - Problem for impl.ReportServiceImpl. Full stack: java.lang.ClassNotFoundException: impl/ReportServiceImpl (wrong name: com/yupi/sqlfather/service/impl/ReportServiceImpl) at org.smartut.instrumentation.InstrumentingClassLoader.instrumentClass(InstrumentingClassLoader.java:164) at org.smartut.instrumentation.InstrumentingClassLoader.loadClass(InstrumentingClassLoader.java:132) at java.lang.Class.forName0(Native Method) at java.lang.Class.forName(Class.java:348) 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:498) at org.smartut.testcase.statements.MethodStatement$1.execute(MethodStatement.java:262) at org.smartut.testcase.statements.AbstractStatement.exceptionHandler(AbstractStatement.java:177) at org.smartut.testcase.statements.MethodStatement.execute(MethodStatement.java:225) at org.smartut.testcase.execution.TestRunnable.executeStatements(TestRunnable.java:296) at org.smartut.testcase.execution.TestRunnable.call(TestRunnable.java:201) at org.smartut.testcase.execution.TestRunnable.call(TestRunnable.java:54) at java.util.concurrent.FutureTask.run(FutureTask.java:266) at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149) at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624) at java.lang.Thread.run(Thread.java:748) Caused by: java.lang.NoClassDefFoundError: impl/ReportServiceImpl (wrong name: com/yupi/sqlfather/service/impl/ReportServiceImpl) at java.lang.ClassLoader.defineClass1(Native Method) at java.lang.ClassLoader.defineClass(ClassLoader.java:756) at java.lang.ClassLoader.defineClass(ClassLoader.java:635) at org.smartut.instrumentation.InstrumentingClassLoader.instrumentClass(InstrumentingClassLoader.java:157) ... 17 common frames omitted
    • Computation finished [MASTER] 11:36:55.026 [main] ERROR SearchStatistics - No statistics has been saved because SmartUt failed to generate any test case [MASTER] 11:36:55.137 [main] ERROR TestGeneration - failed to write statistics data
    • Current class: impl.TableInfoServiceImpl
    • Going to generate test cases for class: impl.TableInfoServiceImpl
    • Starting Client-0
    • Properties loaded from D:\PlayGround\sql-father-backend-public\smartut-files\smartut.properties
    • Connecting to master process on port 11247
    • Analyzing classpath: [MASTER] 11:36:56.283 [logback-1] WARN TestSuiteGenerator - initializeTargetClass start!
    • Inheritance tree loaded from C:\Users\ASUS\AppData\Local\Temp\ES_inheritancetree831980620130679995.xml.gz
    • Error while initializing target class: impl/TableInfoServiceImpl (wrong name: com/yupi/sqlfather/service/impl/TableInfoServiceImpl) [MASTER] 11:36:59.478 [logback-2] ERROR TestSuiteGenerator - Problem for impl.TableInfoServiceImpl. Full stack: java.lang.ClassNotFoundException: impl/TableInfoServiceImpl (wrong name: com/yupi/sqlfather/service/impl/TableInfoServiceImpl) at org.smartut.instrumentation.InstrumentingClassLoader.instrumentClass(InstrumentingClassLoader.java:164) at org.smartut.instrumentation.InstrumentingClassLoader.loadClass(InstrumentingClassLoader.java:132) at java.lang.Class.forName0(Native Method) at java.lang.Class.forName(Class.java:348) 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:498) at org.smartut.testcase.statements.MethodStatement$1.execute(MethodStatement.java:262) at org.smartut.testcase.statements.AbstractStatement.exceptionHandler(AbstractStatement.java:177) at org.smartut.testcase.statements.MethodStatement.execute(MethodStatement.java:225) at org.smartut.testcase.execution.TestRunnable.executeStatements(TestRunnable.java:296) at org.smartut.testcase.execution.TestRunnable.call(TestRunnable.java:201) at org.smartut.testcase.execution.TestRunnable.call(TestRunnable.java:54) at java.util.concurrent.FutureTask.run(FutureTask.java:266) at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149) at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624) at java.lang.Thread.run(Thread.java:748) Caused by: java.lang.NoClassDefFoundError: impl/TableInfoServiceImpl (wrong name: com/yupi/sqlfather/service/impl/TableInfoServiceImpl) at java.lang.ClassLoader.defineClass1(Native Method) at java.lang.ClassLoader.defineClass(ClassLoader.java:756) at java.lang.ClassLoader.defineClass(ClassLoader.java:635) at org.smartut.instrumentation.InstrumentingClassLoader.instrumentClass(InstrumentingClassLoader.java:157) ... 17 common frames omitted
    • Computation finished [MASTER] 11:37:02.102 [main] ERROR SearchStatistics - No statistics has been saved because SmartUt failed to generate any test case [MASTER] 11:37:02.212 [main] ERROR TestGeneration - failed to write statistics data
    • Current class: impl.UserServiceImpl
    • Going to generate test cases for class: impl.UserServiceImpl
    • Starting Client-0
    • Properties loaded from D:\PlayGround\sql-father-backend-public\smartut-files\smartut.properties
    • Connecting to master process on port 11964
    • Analyzing classpath: [MASTER] 11:37:03.377 [logback-1] WARN TestSuiteGenerator - initializeTargetClass start!
    • Inheritance tree loaded from C:\Users\ASUS\AppData\Local\Temp\ES_inheritancetree831980620130679995.xml.gz
    • Error while initializing target class: impl/UserServiceImpl (wrong name: com/yupi/sqlfather/service/impl/UserServiceImpl) [MASTER] 11:37:06.617 [logback-2] ERROR TestSuiteGenerator - Problem for impl.UserServiceImpl. Full stack: java.lang.ClassNotFoundException: impl/UserServiceImpl (wrong name: com/yupi/sqlfather/service/impl/UserServiceImpl) at org.smartut.instrumentation.InstrumentingClassLoader.instrumentClass(InstrumentingClassLoader.java:164) at org.smartut.instrumentation.InstrumentingClassLoader.loadClass(InstrumentingClassLoader.java:132) at java.lang.Class.forName0(Native Method) at java.lang.Class.forName(Class.java:348) 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:498) at org.smartut.testcase.statements.MethodStatement$1.execute(MethodStatement.java:262) at org.smartut.testcase.statements.AbstractStatement.exceptionHandler(AbstractStatement.java:177) at org.smartut.testcase.statements.MethodStatement.execute(MethodStatement.java:225) at org.smartut.testcase.execution.TestRunnable.executeStatements(TestRunnable.java:296) at org.smartut.testcase.execution.TestRunnable.call(TestRunnable.java:201) at org.smartut.testcase.execution.TestRunnable.call(TestRunnable.java:54) at java.util.concurrent.FutureTask.run(FutureTask.java:266) at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149) at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624) at java.lang.Thread.run(Thread.java:748) Caused by: java.lang.NoClassDefFoundError: impl/UserServiceImpl (wrong name: com/yupi/sqlfather/service/impl/UserServiceImpl) at java.lang.ClassLoader.defineClass1(Native Method) at java.lang.ClassLoader.defineClass(ClassLoader.java:756) at java.lang.ClassLoader.defineClass(ClassLoader.java:635) at org.smartut.instrumentation.InstrumentingClassLoader.instrumentClass(InstrumentingClassLoader.java:157) ... 17 common frames omitted
    • Computation finished [MASTER] 11:37:09.478 [main] ERROR SearchStatistics - No statistics has been saved because SmartUt failed to generate any test case [MASTER] 11:37:09.586 [main] ERROR TestGeneration - failed to write statistics data
    • Skipping interface: ReportService
    • Skipping interface: TableInfoService
    • Skipping interface: UserService

    Steps to Reproduce

    Please break down here below all the needed steps to reproduce the issue. [If possible, please upload an example of the project you are generating tests for.]

    SmartUt Arguments

    Please provide the whole SmartUt commmand you executed (if relevant)

    Current Result

    Please describe here below the current result you got (if relevant) [if relevant, include a screenshot]

    Expected result

    Please describe here below what should be the expected behaviour (if relevant)

    Additional info

    Please add any information of interest here below

    opened by BensonMax 2
  • MacOS IDEA2021.2版本 打开工程提示SmartUT插件异常

    MacOS IDEA2021.2版本 打开工程提示SmartUT插件异常

    Context

    Please provide below a detailed introduction to the issue itself, and describe what you were doing when the issue happened. Or, what do you want to achieve?

    Steps to Reproduce

    Please break down here below all the needed steps to reproduce the issue. [If possible, please upload an example of the project you are generating tests for.]

    1.通过IDEA打开项目工程 2.右键代码选择SmartUT用例生成 3.弹窗提示【SmartUT异常结束】

    SmartUt Arguments

    Please provide the whole SmartUt commmand you executed (if relevant)

    Current Result

    Please describe here below the current result you got (if relevant) [if relevant, include a screenshot]

    Expected result

    Please describe here below what should be the expected behaviour (if relevant)

    Additional info

    Please add any information of interest here below `Should be called at least in the state COMPONENTS_LOADED, the current state is: CONFIGURATION_STORE_INITIALIZED Current violators count: 1

    java.lang.Throwable at com.intellij.diagnostic.LoadingState.logStateError(LoadingState.java:53) at com.intellij.diagnostic.LoadingState.checkOccurred(LoadingState.java:49) at com.intellij.openapi.actionSystem.impl.ActionManagerImpl.(ActionManagerImpl.java:137) at com.jetbrains.rdserver.ui.actionPopupMenu.BackendActionManager.(BackendActionManager.kt:14) at java.base/jdk.internal.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method) at java.base/jdk.internal.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:62) at java.base/jdk.internal.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45) at java.base/java.lang.reflect.Constructor.newInstance(Constructor.java:490) at com.intellij.serviceContainer.ConstructorInjectionKt.instantiateUsingPicoContainer(constructorInjection.kt:47) at com.intellij.serviceContainer.ComponentManagerImpl.instantiateClassWithConstructorInjection(ComponentManagerImpl.kt:877) at com.intellij.serviceContainer.ServiceComponentAdapter.createAndInitialize(ServiceComponentAdapter.kt:48) at com.intellij.serviceContainer.ServiceComponentAdapter.doCreateInstance(ServiceComponentAdapter.kt:36) at com.intellij.serviceContainer.BaseComponentAdapter.getInstanceUncached(BaseComponentAdapter.kt:113) at com.intellij.serviceContainer.BaseComponentAdapter.getInstance(BaseComponentAdapter.kt:67) at com.intellij.serviceContainer.BaseComponentAdapter.getInstance$default(BaseComponentAdapter.kt:60) at com.intellij.serviceContainer.ComponentManagerImpl.doGetService(ComponentManagerImpl.kt:590) at com.intellij.serviceContainer.ComponentManagerImpl.getService(ComponentManagerImpl.kt:573) at com.intellij.openapi.client.ClientAwareComponentManager.getFromSelfOrCurrentSession(ClientAwareComponentManager.kt:37) at com.intellij.openapi.client.ClientAwareComponentManager.getService(ClientAwareComponentManager.kt:22) at com.intellij.openapi.actionSystem.ActionManager.getInstance(ActionManager.java:30) at org.smartut.intellij.ApplicationRegistration.initComponent(ApplicationRegistration.java:25) at com.intellij.serviceContainer.MyComponentAdapter.doCreateInstance(MyComponentAdapter.kt:44) at com.intellij.serviceContainer.BaseComponentAdapter.getInstanceUncached(BaseComponentAdapter.kt:113) at com.intellij.serviceContainer.BaseComponentAdapter.getInstance(BaseComponentAdapter.kt:67) at com.intellij.serviceContainer.BaseComponentAdapter.getInstance$default(BaseComponentAdapter.kt:60) at com.intellij.serviceContainer.ComponentManagerImpl.createComponents(ComponentManagerImpl.kt:407) at com.intellij.openapi.application.impl.ApplicationImpl.loadComponents(ApplicationImpl.java:366) at com.intellij.idea.ApplicationLoader$startApp$loadComponentInEdtFuture$1.run(ApplicationLoader.kt:136) at java.base/java.util.concurrent.CompletableFuture$AsyncRun.run(CompletableFuture.java:1736) at com.intellij.openapi.application.TransactionGuardImpl.runWithWritingAllowed(TransactionGuardImpl.java:214) at com.intellij.openapi.application.TransactionGuardImpl.access$200(TransactionGuardImpl.java:21) at com.intellij.openapi.application.TransactionGuardImpl$2.run(TransactionGuardImpl.java:196) at com.intellij.openapi.application.impl.ApplicationImpl.runIntendedWriteActionOnCurrentThread(ApplicationImpl.java:794) at com.intellij.openapi.application.impl.ApplicationImpl.lambda$invokeLater$4(ApplicationImpl.java:350) at com.intellij.openapi.application.impl.FlushQueue.doRun(FlushQueue.java:84) at com.intellij.openapi.application.impl.FlushQueue.runNextEvent(FlushQueue.java:133) at com.intellij.openapi.application.impl.FlushQueue.flushNow(FlushQueue.java:46) at com.intellij.openapi.application.impl.FlushQueue$FlushNow.run(FlushQueue.java:189) at java.desktop/java.awt.event.InvocationEvent.dispatch(InvocationEvent.java:313) at java.desktop/java.awt.EventQueue.dispatchEventImpl(EventQueue.java:776) at java.desktop/java.awt.EventQueue$4.run(EventQueue.java:727) at java.desktop/java.awt.EventQueue$4.run(EventQueue.java:721) at java.base/java.security.AccessController.doPrivileged(Native Method) at java.base/java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:85) at java.desktop/java.awt.EventQueue.dispatchEvent(EventQueue.java:746) at com.intellij.ide.IdeEventQueue.dispatchEvent(IdeEventQueue.java:408) at java.desktop/java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:203) at java.desktop/java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:124) at java.desktop/java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:113) at java.desktop/java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:109) at java.desktop/java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:101) at java.desktop/java.awt.EventDispatchThread.run(EventDispatchThread.java:90)`

    opened by imath60 0
  • maven工程下使用mvn clean test执行自动生成的测试用例,jacoco无法统计到覆盖率

    maven工程下使用mvn clean test执行自动生成的测试用例,jacoco无法统计到覆盖率

    Context

    Please provide below a detailed introduction to the issue itself, and describe what you were doing when the issue happened. Or, what do you want to achieve?

    Steps to Reproduce

    Please break down here below all the needed steps to reproduce the issue. [If possible, please upload an example of the project you are generating tests for.]

    SmartUt Arguments

    Please provide the whole SmartUt commmand you executed (if relevant)

    Current Result

    Please describe here below the current result you got (if relevant) [if relevant, include a screenshot]

    Expected result

    Please describe here below what should be the expected behaviour (if relevant)

    Additional info

    Please add any information of interest here below

    opened by zhangdalao 0
  • 报错

    报错

    执行这个 java -jar ./smartut.jar -target target/classes/ 提示下面的错误:

    • Number of covered goals: 2
    • Generated 1 tests with total length 3
    • Resulting test suite's coverage: 100% (average coverage for all fitness functions)
    • Generating assertions
    • Resulting test suite's mutation score: 0%
    • Compiling and checking tests [MASTER] 17:47:53.849 [logback-1] WARN TestSuiteGenerator - Add assertions DONE [MASTER] 17:47:53.849 [logback-1] WARN TestSuiteGenerator - Start JUNIT COMPILE AND CHECK, test suite size is 1 [MASTER] 17:47:55.115 [logback-2] ERROR AgentLoader - Exception class java.lang.IllegalStateException: Error during attachment using: org.smartut.shaded.net.bytebuddy.agent.ByteBuddyAgent$AttachmentProvider$Compound@3ad709bb , cause class java.lang.reflect.InvocationTargetException null java.lang.IllegalStateException: Error during attachment using: org.smartut.shaded.net.bytebuddy.agent.ByteBuddyAgent$AttachmentProvider$Compound@3ad709bb at org.smartut.shaded.net.bytebuddy.agent.ByteBuddyAgent.install(ByteBuddyAgent.java:613) at org.smartut.shaded.net.bytebuddy.agent.ByteBuddyAgent.attach(ByteBuddyAgent.java:273) at org.smartut.shaded.net.bytebuddy.agent.ByteBuddyAgent.attach(ByteBuddyAgent.java:238) at org.smartut.shaded.net.bytebuddy.agent.ByteBuddyAgent.attach(ByteBuddyAgent.java:220) at org.smartut.runtime.agent.AgentLoader.attachAgent(AgentLoader.java:130) at org.smartut.runtime.agent.AgentLoader.loadAgent(AgentLoader.java:91) at org.smartut.runtime.agent.InstrumentingAgent.initialize(InstrumentingAgent.java:101) at org.smartut.runtime.SmartUtRunner.getClass(SmartUtRunner.java:116) at org.smartut.runtime.SmartUtRunner.(SmartUtRunner.java:91) at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method) at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:62) at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45) at java.lang.reflect.Constructor.newInstance(Constructor.java:423) at org.junit.internal.builders.AnnotatedBuilder.buildRunner(AnnotatedBuilder.java:104) at org.junit.internal.builders.AnnotatedBuilder.runnerForClass(AnnotatedBuilder.java:86) at org.junit.runners.model.RunnerBuilder.safeRunnerForClass(RunnerBuilder.java:70) at org.junit.internal.builders.AllDefaultPossibilitiesBuilder.runnerForClass(AllDefaultPossibilitiesBuilder.java:37) at org.junit.runner.Computer.getRunner(Computer.java:50) at org.junit.runner.Computer$1.runnerForClass(Computer.java:31) at org.junit.runners.model.RunnerBuilder.safeRunnerForClass(RunnerBuilder.java:70) at org.junit.runners.model.RunnerBuilder.runners(RunnerBuilder.java:125) at org.junit.runners.model.RunnerBuilder.runners(RunnerBuilder.java:111) at org.junit.runners.Suite.(Suite.java:81) at org.junit.runner.Computer$2.(Computer.java:33) at org.junit.runner.Computer.getSuite(Computer.java:28) at org.junit.runner.Request.classes(Request.java:77) at org.junit.runner.JUnitCore.run(JUnitCore.java:105) at org.junit.runner.JUnitCore.run(JUnitCore.java:94) at org.smartut.junit.JUnitAnalyzer.runJUnitOnCurrentProcess(JUnitAnalyzer.java:306) at org.smartut.junit.JUnitAnalyzer.runTests(JUnitAnalyzer.java:276) at org.smartut.junit.JUnitAnalyzer.handleTestsThatAreUnstable(JUnitAnalyzer.java:178) at org.smartut.TestSuiteGenerator.compileAndCheckTests(TestSuiteGenerator.java:598) at org.smartut.TestSuiteGenerator.postProcessTests(TestSuiteGenerator.java:542) at org.smartut.TestSuiteGenerator.generateTestSuite(TestSuiteGenerator.java:222) at org.smartut.rmi.service.ClientNodeImpl.lambda$startNewSearch$0(ClientNodeImpl.java:150) at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511) at java.util.concurrent.FutureTask.run(FutureTask.java:266) at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149) at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624) at java.lang.Thread.run(Thread.java:748) Caused by: java.lang.reflect.InvocationTargetException: null 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:498) at org.smartut.shaded.net.bytebuddy.agent.Attacher.install(Attacher.java:106) at org.smartut.shaded.net.bytebuddy.agent.ByteBuddyAgent.install(ByteBuddyAgent.java:608) ... 39 common frames omitted Caused by: com.sun.tools.attach.AttachNotSupportedException: no providers installed at com.sun.tools.attach.VirtualMachine.attach(VirtualMachine.java:203) ... 45 common frames omitted
    opened by liuyiyuan8888 0
Owner
TRaaS
Technological Risk-defense as a Service Stack (Ant Group Open Source Software)
TRaaS
The ANT HAL Service functions as a JNI wrapper for the ANT HAL.

Android ANT HAL Service v.4.0.0 - 25 Aug 2014 The ANT HAL Service functions as a JNI wrapper for the ANT HAL. The ANT Hal Service provides the messagi

Project Kaleidoscope 0 Jun 11, 2022
High level api to interact with maven form within the jvm

maven-utils High level api to interact with maven from within the jvm Use it by adding the dependency to your maven pom: <dependency> <groupId>se.

Alipsa 5 Sep 29, 2022
A spring cloud infrastructure provides various of commonly used cloud components and auto-configurations for high project consistency

A spring cloud infrastructure provides various of commonly used cloud components and auto-configurations for high project consistency.

Project-Hephaestus 2 Feb 8, 2022
Spring Boot Rest API unit test with Junit 5, Mockito, Maven

Spring Boot Rest API unit testing with Junit 5, Mockito, Maven Apply Spring Boot @WebMvcTest for Rest Controller Unit Test with JUnit 5 and Mockito. F

null 19 Dec 22, 2022
Tracks information (skills, inventory, bank, etc.) about a group ironman player and sends it to a website for other group members to view

Group Ironmen Tracker Plugin Website: groupiron.men Source for frontend and server: https://github.com/christoabrown/group-ironmen This plugin tracks

Christopher Brown 7 Nov 11, 2022
ReleaseFab is a Java client application which automatically generates Release Notes for any project.

ReleaseFab is a Java client application which atomatically generates Release Notes for any project. The information can be gathered from multiple different sources including the source code itself, the Git repository and an Application Lifecycle Management System of your choice.

comlet Verteilte Systeme GmbH 7 Jun 10, 2022
Restler is a library that automatically generates a client for a web service at run time, by analyzing the respective annotated Spring controller interface

Restler Overview Restler is a library that automatically generates a client for a web service at run time, by analyzing the respective annotated Sprin

Excelsior LLC 29 Oct 24, 2022
A library that automatically generates and manages configuration files based on classes.

sc-cfg SC-CFG is a simple, yet powerful library that automatically generate configuration files based on your classes. Compatible with Java 8+ and Kot

null 10 Nov 28, 2022
OpenAPI JSON Schema Generator allows auto-generation of API client libraries with a focus on JSON schema given an OpenAPI Spec

OpenAPI JSON Schema Generator IMPORTANT: before the first release, one will need to build the project locally to use the enhancements, bug fixes in th

OpenAPI Tools 5 Dec 31, 2022
Spring REST API for financial management, developed with Java 11, JWT for authentication, JUnit for unit testing and Oracle Database

control_financial Spring REST API for financial management, developed with Java 11, JWT for authentication, JUnit for unit testing and Oracle Database

Vinicius Cassaro 1 May 27, 2022
Test case to check if the Log4Shell/CVE-2021-44228 hotfix will raise any unexpected exceptions

Log4Shell Hotfix Side Effect Test Case I wanted to know if any ClassNotFoundException or similar unexpected exception is raised when one applies the C

Malte S. Stretz 3 Nov 9, 2022
An Android library for member secretGFX group, This can be used to growing your apps and get more install via a simple banner view & native view and interstitial dialog.

GFX-AdPromote An Android library for member secretGFX group, This can be used to growing your apps and get more install via a simple banner view & nat

SAID MOTYA 10 Dec 25, 2022
OpenAPI Generator allows generation of API client libraries (SDK generation), server stubs, documentation and configuration automatically given an OpenAPI Spec (v2, v3)

OpenAPI Generator Master (5.4.x): 6.0.x (6.0.x): ⭐ ⭐ ⭐ If you would like to contribute, please refer to guidelines and a list of open tasks. ⭐ ⭐ ⭐ ‼️

OpenAPI Tools 14.8k Dec 30, 2022
Log4j-payload-generator - Log4j jndi injects the Payload generator

0x01 简介 log4j-payload-generator是 woodpecker框架 生产log4 jndi注入漏洞payload的插件。目前可以一键生产以下5类payload。 原始payload {[upper|lower]:x}类型随机混payload {[upper|lower]:x}

null 469 Dec 30, 2022
OpenApi Generator - REST Client Generator

Quarkus - Openapi Generator Welcome to Quarkiverse! Congratulations and thank you for creating a new Quarkus extension project in Quarkiverse! Feel fr

Quarkiverse Hub 46 Jan 3, 2023
SpringBoot show case application for reactive-pulsar library (Reactive Streams adapter for Apache Pulsar Java Client)

Reactive Pulsar Client show case application Prerequisites Cloning reactive-pulsar Running this application requires cloning https://github.com/lhotar

Lari Hotari 9 Nov 10, 2022
Simple springboot API for addressBook. Supports all REST controllers and have custom error handling for every specific case, also supports redis caching.

AddressBook-SpringBoot-API Simple Springboot API for addressBook with redis cache. Supports all REST controllers and have custom error handling for ev

Shirish Saxena 1 Jan 21, 2022
Euphony Demo for patients and assistants in case of an emergency.

sound-helper Eutophia sample project Overview sound-helper is a sample application using the euphony Acoustic Data Telecommunication Library. This app

Euphony 5 Sep 6, 2021
This repo holds all the basic code and documentation to the ev3 roboter of group 3 from WS21/22

e3base This repo holds all the basic code and documentation to the ev3 roboter of group 3 from WS21/22 Task Every group had to build a roboter using t

Jonas Deipenbrock 1 Feb 12, 2022