Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/noamt/grails-plugin-windtunnel
Black-box testing infrastructure for Grails plugins
https://github.com/noamt/grails-plugin-windtunnel
Last synced: 16 days ago
JSON representation
Black-box testing infrastructure for Grails plugins
- Host: GitHub
- URL: https://github.com/noamt/grails-plugin-windtunnel
- Owner: noamt
- Created: 2014-01-19T17:43:22.000Z (almost 11 years ago)
- Default Branch: master
- Last Pushed: 2014-09-08T07:27:42.000Z (about 10 years ago)
- Last Synced: 2023-12-12T19:20:26.175Z (11 months ago)
- Language: Groovy
- Size: 638 KB
- Stars: 2
- Watchers: 4
- Forks: 1
- Open Issues: 1
-
Metadata Files:
- Readme: README.asciidoc
Awesome Lists containing this project
README
== Grails Plugin Windtunnel
A framework for blackbox testing of Grails plugins.
=== Abstract
When developing Grails plugins, we can write unit & integration test cases that check the internals of the plugin, but we have no easy way of testing the plugin once it's been packaged. +
.To test a packaged plugin, we must:
* Install the plugin to our local build-tool cache or deploy it to a repository.
* Create a new test application.
* Configure the application to depend on the plugin.
* Run different test cases.Multiply this scenario across different versions of OS, Grails and plugins, and you've earned yourself a huge pain in the ass.
=== Current state
.The windtunnel is currently able to:
* Resolve a Grails version using https://github.com/noamt/sgvm[SGVM].
* Create a test application.
* Configure the application to depend on a plugin.
* Start the application.=== Usage
The Grails Plugin Windtunnel distribution is now available via https://bintray.com/noamt/java-libraries/grails-plugin-windtunnel/[Bintray]. +
==== Author a flight plan
A flight plan is a simple Groovy script that's evaluated with the Windtunnel's DSL.
[source,groovy]
----
usingGrails('2.1.4')
testPlugin(artifactId: 'jquery-ui', version: '1.10.3' /*, repositoryUrl: 'http://jcenter.bintray.com', groupId: 'org.other.group'*/)
at('/tmp/')
----==== Execute the flight plan
[source,bash]
----
noam@mandromeda:~/gpw$ ./gpw.sh /home/noam/FlightPlan.groovy
----