onewhl / kute Goto Github PK
View Code? Open in Web Editor NEWCollects unit tests from Java and Kotlin repositories
License: Apache License 2.0
Collects unit tests from Java and Kotlin repositories
License: Apache License 2.0
Now, we need to download project manually and unzip it (if it's loaded as a zip file)
There are a few versions to build a GUI:
JavaParser allows to bind only a single line comment to a method. Provide a way to collect siblings
Experiment with different writer targets:
In some projects, tests are located in a separate module. Provide a way to map source class in the other module
There are a few places where this util could be run, I suggest adding at least some JVM_OPTS to the Gradle file
If we have a GUI or web-interface, it will be great to have some settings there
Now we could not track the progress of test handling.
I suggest adding some logger calls with DEBUG level for the tracking what unit tests were discovered and visited, probably processed modules and some stats ร la (100/11000 were processed)
Investigate the possibility to parse tests written in other languages
Currently, we need id only for database. Let the database manage id itself
Now, the heuristics works for JUnit5 only (looks at @ParameterizedTest
annotation)
For JUnit 4, the following ways are possible:
@RunWith(Parameterized.class)
annotationJUnitParams
dependency: class has @RunWith(JUnitParamsRunner.class)
annotation, methods have @Parameters(...)
annotationjunit-dataprovider-core
dependency: class has @RunWith(DataProviderRunner.class)
annotation, methods have @UseDataProvider(...)
annotationFor TestNG:
@Parameters(...)
@Test(dataProvider=...)
Support IO and computation parallelism
Old JUnit projects (pre-annotation time) used name convention to detect methods to be executed as test. It may be useful to support this heuristics beside annotation-based, so we could analyze historical projects
Display name should be taken from the content of DisplayName annotation from JUnit5 or similar annotation from Allure framework
This uses , and ; (when you append newLine) to form csv output, but method body could contains ,;/n an so on.
I see a few possible solutions here
Currently, the CliktCommand implementation is used, and the run method contains all the main logic of parsing.
I suggest to move this logic to the separate Parser with the input arguments which could be filled from different client sources: web UI, desktop GUI, main function or the ClicktCommand implementation
They may have platform-specific directories like jvmMain
, jsTest
, not just main
and test
.
Example: https://github.com/InsertKoinIO/koin/tree/main/core/koin-core/src
Currently, we exclude tests with Disabled or Ignored annotation from analysis. Instead, let's add a feature disabled
to TestMethodInfo
Currently, JSON content is printed in a large single line, which makes troubles on most text editors when opening result.json.
I suggest to separate entries by CRLF separator
Frameworks to be supported: JUnit3, JUnit4, JUnit5, TestNG, kotlin.test
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.