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
Provide infrastructure for writing IDE and build tools plugin #32
Comments
2 would be a "nice to have", but not essential. If implementing is an easy win, then great! (Of course this is also off topic for IntelliJ integration, so it's just noted here as an idea.) |
1 is the plan, already have a gist on the approach that I will take but haven't started it yet. A console runner would be great but it will be low priority. When all the plugins is done, writing the console runner will be easy. |
Good news |
Just realised that writing the console runner will make writing IDE plugin much more easier, so I will be prioritising it. The runner will just be bare, just enough that I can use it to write the IDE plugins. |
I figured it might be, can integrate via mvn / gradle I assume?
|
Yes, just started writing the console runner hopefully I can have something after this weekend. |
Awesomesauce
|
For running specific example groups and/or examples, I'll be implementing something similar to an XPath query. Examples:
|
I'd think it would be better to use the line number, and then run the enclosing spec / context for that line. By way of explanation, it descriptions are generally more verbose than is convenient to retype, as is the full context path to a spec. Of course whatever you give users going to help, I just wanted to throw in a thought.
|
It will be a bit tricky to implement right now, but it will definitely happen. For now I just want something that can be used with IDE plugins. |
Fair enough.
I think IDE is going to be most people's weapon of choice anyway.
|
@jasonm23 I'll be landing #33 soon and work on the IntelliJ plugin. A console runner is included in the PR, you probably want to check it out. Planning to publish the runner via sdkman, for now just build from source. ./gradlew kspec-console-runner:distZip The runner will be found under Sample usage: kspec -s com/example/SampleSpec.kt --cp <classpath> -q "describe: foo/it: bar" The runner is very simple and probably still have some bugs. Size is around ~20mb because of the kotlin-compiler. |
Good stuff, will try it out in the morning.
|
Resolves #32. Broken down kspec-core into several modules. kspec-core - core classes. kspec-engine - defines the runtime behaviour of KSpec. kspec-launcher - provides infrastructure in writing IDE and build tool plugins. kspec-console-runner - console runner for KSpec (uses kspec-launcher).
Problem
Currently the only way to get IDE and build tools support is via
JUnitKSpecRunner
. This approach is very limited as you cant run a specific spec.Possible solutions
The text was updated successfully, but these errors were encountered: