Skip to content
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

Easy JUnit support #10

Open
UnknownJoe796 opened this issue Sep 3, 2019 · 0 comments
Open

Easy JUnit support #10

UnknownJoe796 opened this issue Sep 3, 2019 · 0 comments
Labels
enhancement New feature or request good first issue Good for newcomers

Comments

@UnknownJoe796
Copy link
Owner

This one shouldn't be too hard, though it will be harder than issue #5.

You will probably need the following to work on this:

  • Some experience with working around build systems
  • Some experience with using JUnit
  • A willingness to research or knowledge of how to run JUnit manually
  • Some willingness to get familiar with the principles of KBuild, especially how it models code modules. Shouldn't take too long, you'll likely need to review most of the publicly exposed interfaces.

We need JUnit support.

My recommended path is this:

  • Create a JUnitModule interface
    • It should require a HasJvmJars module as a value
    • It should require a source root for the tests with a reasonable default
    • It should have a function called test(), which runs all of the tests
    • It should have a function called test(classOrTestName: String), which runs a subset of tests
    • Those functions should throw if the test fails
    • JUnit should be set up to output reports to a folder

Goals:

  • The end-user should be able to add dependencies just for testing with ease
  • The module should not be used to extend the end users' main module because IntelliJ views them as separate modules. Making it a separate module will ease IntelliJ support.
@UnknownJoe796 UnknownJoe796 added enhancement New feature or request good first issue Good for newcomers labels Sep 3, 2019
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request good first issue Good for newcomers
Projects
None yet
Development

No branches or pull requests

1 participant