-
-
Notifications
You must be signed in to change notification settings - Fork 2
feat: have just junit command for simplicity/consistency #1
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Merged
Merged
Changes from 4 commits
Commits
Show all changes
5 commits
Select commit
Hold shift + click to select a range
b08442e
feat: have just junit command for simplicity/consistency
maxandersen afc2c63
Update README.md
maxandersen 465c1e5
Update README.md
maxandersen 1b33feb
Update README.md
maxandersen c56386f
Remove catalog version syntax
marcphilipp File filter
Filter by extension
Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
There are no files selected for viewing
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -1 +1,132 @@ | ||
| # JUnit JBang Catalog | ||
|
|
||
| This catalog provides easy access to the JUnit Platform Console Standalone via JBang, making it simple to run JUnit tests from the command line or as a JBang-installed app. | ||
|
|
||
| ## Quick Start | ||
|
|
||
| To use JUnit with JBang, first ensure you have [JBang installed](https://www.jbang.dev/download). | ||
|
|
||
| Run the JUnit Platform Console Standalone directly: | ||
|
|
||
| ```sh | ||
| jbang junit@junit-team | ||
| ``` | ||
|
|
||
| Or install it as a command for easier reuse: | ||
|
|
||
| ```sh | ||
| jbang app install junit@junit-team | ||
| junit | ||
| ``` | ||
|
|
||
| ## Running Tests | ||
|
|
||
| To run JUnit tests, provide your test classpath and scan for tests: | ||
|
|
||
| ```sh | ||
| junit --class-path <your classpath with tests included> --scan-classpath | ||
| ``` | ||
|
|
||
| If your tests are packaged in a Maven artifact, you can use JBang to resolve the classpath: | ||
|
|
||
| ```sh | ||
| junit --class-path `jbang info classpath org.your:app:1.2.3` --scan-classpath | ||
| ``` | ||
| _Replace `org.your:app:1.2.3` with your actual Maven coordinates._ | ||
|
|
||
| ## Advanced Usage | ||
|
|
||
| ### Using a Specific Java Version | ||
|
|
||
| You can specify a Java version when running or installing: | ||
|
|
||
| ```sh | ||
| jbang --java 25 junit@junit-team --class-path <your classpath> --scan-classpath | ||
| ``` | ||
|
|
||
| Or when installing: | ||
|
|
||
| ```sh | ||
| jbang app install --java 25 junit@junit-team | ||
| ``` | ||
|
|
||
| ### Using a Specific Version of JUnit | ||
|
|
||
| To use a specific version of the JUnit CLI, you can run it directly with Maven coordinates: | ||
|
|
||
| ```sh | ||
| jbang org.junit.platform:junit-platform-console-standalone:1.13.3 | ||
| ``` | ||
|
|
||
| Or use the catalog with version syntax: | ||
|
|
||
| ```sh | ||
| jbang junit@junit-team/jbang-catalog/1.13.3 | ||
| ``` | ||
marcphilipp marked this conversation as resolved.
Outdated
Show resolved
Hide resolved
|
||
|
|
||
| ## JBang Script Tests | ||
|
|
||
| JBang provides a JUnit template to help you create and run tests for JBang scripts. | ||
|
|
||
| 1. Create a script: | ||
| ```sh | ||
| jbang init helloworld.java | ||
| ``` | ||
| 2. Create a test for it: | ||
| ```sh | ||
| jbang init -t junit@jbangdev helloworld.java | ||
| ``` | ||
| This generates `helloworldTest.java` that includes `helloworld.java` for easy test setup. | ||
| 3. Build the test: | ||
| ```sh | ||
| jbang build helloworldTest.java | ||
| ``` | ||
| 4. Run the test: | ||
| ```sh | ||
| junit --class-path `jbang info classpath helloworldTest.java` --scan-classpath | ||
| ``` | ||
|
|
||
| Example output (with a failing test): | ||
|
|
||
| ``` | ||
| 💚 Thanks for using JUnit! Support its development at https://junit.org/sponsoring | ||
| ╷ | ||
| ├─ JUnit Platform Suite ✔ | ||
| ├─ JUnit Jupiter ✔ | ||
| │ └─ helloworldTest ✔ | ||
| │ └─ testhelloworld() ✘ You should add some testing code for helloworld here! ==> expected: <1> but was: <2> | ||
| └─ JUnit Vintage ✔ | ||
| Failures (1): | ||
| JUnit Jupiter:helloworldTest:testhelloworld() | ||
| MethodSource [className = 'helloworldTest', methodName = 'testhelloworld', methodParameterTypes = ''] | ||
| => org.opentest4j.AssertionFailedError: You should add some testing code for gen here! ==> expected: <1> but was: <2> | ||
| org.junit.jupiter.api.AssertionFailureBuilder.build(AssertionFailureBuilder.java:151) | ||
| org.junit.jupiter.api.AssertionFailureBuilder.buildAndThrow(AssertionFailureBuilder.java:132) | ||
| org.junit.jupiter.api.AssertEquals.failNotEqual(AssertEquals.java:197) | ||
| org.junit.jupiter.api.AssertEquals.assertEquals(AssertEquals.java:150) | ||
| org.junit.jupiter.api.Assertions.assertEquals(Assertions.java:563) | ||
| helloworldTest.testhelloworld(helloworldTest.java:27) | ||
| java.base/java.lang.reflect.Method.invoke(Method.java:580) | ||
| java.base/java.util.ArrayList.forEach(ArrayList.java:1597) | ||
| java.base/java.util.ArrayList.forEach(ArrayList.java:1597) | ||
| Test run finished after 35 ms | ||
| [ 4 containers found ] | ||
| [ 0 containers skipped ] | ||
| [ 4 containers started ] | ||
| [ 0 containers aborted ] | ||
| [ 4 containers successful ] | ||
| [ 0 containers failed ] | ||
| [ 1 tests found ] | ||
| [ 0 tests skipped ] | ||
| [ 1 tests started ] | ||
| [ 0 tests aborted ] | ||
| [ 0 tests successful ] | ||
| [ 1 tests failed ] | ||
| ``` | ||
|
|
||
| === Additonal Help | ||
|
|
||
| You can run `junit` and get command line help or read the [guide](https://docs.junit.org/current/user-guide/#running-tests-console-launcher) | ||
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -1,104 +1,12 @@ | ||
| { | ||
| "aliases" : { | ||
| "cli" : { | ||
| "junit" : { | ||
| "script-ref" : "org.junit.platform:junit-platform-console-standalone:1.13.3", | ||
| "description" : "Launch the JUnit Platform from the console" | ||
| }, | ||
| "cli-1.13.3" : { | ||
| "cli" : { | ||
| "script-ref" : "org.junit.platform:junit-platform-console-standalone:1.13.3", | ||
| "description" : "Launch the JUnit Platform from the console" | ||
| }, | ||
| "cli-1.13.2" : { | ||
| "script-ref" : "org.junit.platform:junit-platform-console-standalone:1.13.2", | ||
| "description" : "Launch the JUnit Platform from the console" | ||
| }, | ||
| "cli-1.13.1" : { | ||
| "script-ref" : "org.junit.platform:junit-platform-console-standalone:1.13.1", | ||
| "description" : "Launch the JUnit Platform from the console" | ||
| }, | ||
| "cli-1.13.0" : { | ||
| "script-ref" : "org.junit.platform:junit-platform-console-standalone:1.13.0", | ||
| "description" : "Launch the JUnit Platform from the console" | ||
| }, | ||
| "cli-1.12.2" : { | ||
| "script-ref" : "org.junit.platform:junit-platform-console-standalone:1.12.2", | ||
| "description" : "Launch the JUnit Platform from the console" | ||
| }, | ||
| "cli-1.12.1" : { | ||
| "script-ref" : "org.junit.platform:junit-platform-console-standalone:1.12.1", | ||
| "description" : "Launch the JUnit Platform from the console" | ||
| }, | ||
| "cli-1.12.0" : { | ||
| "script-ref" : "org.junit.platform:junit-platform-console-standalone:1.12.0", | ||
| "description" : "Launch the JUnit Platform from the console" | ||
| }, | ||
| "cli-1.11.4" : { | ||
| "script-ref" : "org.junit.platform:junit-platform-console-standalone:1.11.4", | ||
| "description" : "Launch the JUnit Platform from the console" | ||
| }, | ||
| "cli-1.11.3" : { | ||
| "script-ref" : "org.junit.platform:junit-platform-console-standalone:1.11.3", | ||
| "description" : "Launch the JUnit Platform from the console" | ||
| }, | ||
| "cli-1.11.2" : { | ||
| "script-ref" : "org.junit.platform:junit-platform-console-standalone:1.11.2", | ||
| "description" : "Launch the JUnit Platform from the console" | ||
| }, | ||
| "cli-1.11.1" : { | ||
| "script-ref" : "org.junit.platform:junit-platform-console-standalone:1.11.1", | ||
| "description" : "Launch the JUnit Platform from the console" | ||
| }, | ||
| "cli-1.11.0" : { | ||
| "script-ref" : "org.junit.platform:junit-platform-console-standalone:1.11.0", | ||
| "description" : "Launch the JUnit Platform from the console" | ||
| }, | ||
| "cli-1.10.5" : { | ||
| "script-ref" : "org.junit.platform:junit-platform-console-standalone:1.10.5", | ||
| "description" : "Launch the JUnit Platform from the console" | ||
| }, | ||
| "cli-1.10.4" : { | ||
| "script-ref" : "org.junit.platform:junit-platform-console-standalone:1.10.4", | ||
| "description" : "Launch the JUnit Platform from the console" | ||
| }, | ||
| "cli-1.10.3" : { | ||
| "script-ref" : "org.junit.platform:junit-platform-console-standalone:1.10.3", | ||
| "description" : "Launch the JUnit Platform from the console" | ||
| }, | ||
| "cli-1.10.2" : { | ||
| "script-ref" : "org.junit.platform:junit-platform-console-standalone:1.10.2", | ||
| "description" : "Launch the JUnit Platform from the console" | ||
| }, | ||
| "cli-1.10.1" : { | ||
| "script-ref" : "org.junit.platform:junit-platform-console-standalone:1.10.1", | ||
| "description" : "Launch the JUnit Platform from the console" | ||
| }, | ||
| "cli-1.10.0" : { | ||
| "script-ref" : "org.junit.platform:junit-platform-console-standalone:1.10.0", | ||
| "description" : "Launch the JUnit Platform from the console" | ||
| }, | ||
| "cli-1.9.3" : { | ||
| "script-ref" : "org.junit.platform:junit-platform-console-standalone:1.9.3", | ||
| "description" : "Launch the JUnit Platform from the console" | ||
| }, | ||
| "cli-1.9.2" : { | ||
| "script-ref" : "org.junit.platform:junit-platform-console-standalone:1.9.2", | ||
| "description" : "Launch the JUnit Platform from the console" | ||
| }, | ||
| "cli-1.9.1" : { | ||
| "script-ref" : "org.junit.platform:junit-platform-console-standalone:1.9.1", | ||
| "description" : "Launch the JUnit Platform from the console" | ||
| }, | ||
| "cli-1.9.0" : { | ||
| "script-ref" : "org.junit.platform:junit-platform-console-standalone:1.9.0", | ||
| "description" : "Launch the JUnit Platform from the console" | ||
| }, | ||
| "cli-1.8.2" : { | ||
| "script-ref" : "org.junit.platform:junit-platform-console-standalone:1.8.2", | ||
| "description" : "Launch the JUnit Platform from the console" | ||
| }, | ||
| "cli-1.8.1" : { | ||
| "script-ref" : "org.junit.platform:junit-platform-console-standalone:1.8.1", | ||
| "description" : "Launch the JUnit Platform from the console" | ||
| } | ||
| } | ||
| } |
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Uh oh!
There was an error while loading. Please reload this page.