public abstract class GroovyUnitTest extends Object
Modifier and Type | Method and Description |
---|---|
static HandlingResult |
handle(Action<? super Chain> handlers,
Closure<?> closure)
Unit test a chain of
handlers . |
static HandlingResult |
handle(Handler handler,
Closure<?> closure)
Unit test a
Handler . |
static GroovyRequestFixture |
requestFixture()
Create a Groovy request fixture, for unit testing a
Handler . |
static GroovyRequestFixture |
requestFixture(RequestFixture requestFixture)
Create a Groovy request fixture, for unit testing a
Handler , by wrapping the given RequestFixture . |
public static HandlingResult handle(Handler handler, @DelegatesTo(value=GroovyRequestFixture.class) Closure<?> closure) throws Exception
Handler
.
Example:
import ratpack.groovy.handling.GroovyHandler import ratpack.groovy.handling.GroovyContext import ratpack.groovy.test.GroovyUnitTest class MyHandler extends GroovyHandler { void handle(GroovyContext context) { context.with { def outputHeaderValue = request.headers.get("input-value") + ":bar" response.headers.set("output-value", outputHeaderValue) render "received: " + request.path } } } def result = GroovyUnitTest.handle(new MyHandler()) { header "input-value", "foo" uri "some/path" } assert result.rendered(String) == "received: some/path" assert result.headers.get("output-value") == "foo:bar"
handler
- the handler to testclosure
- the configuration of the request fixtureHandlerTimeoutException
- if the handler takes more than RequestFixture.timeout(int)
seconds to send a response or call next()
on the contextException
- any thrown by closure
public static HandlingResult handle(Action<? super Chain> handlers, @DelegatesTo(value=GroovyRequestFixture.class) Closure<?> closure) throws Exception
handlers
.
Example:
import ratpack.groovy.test.GroovyUnitTest
import ratpack.groovy.Groovy
def handlers = Groovy.chain {
handler {
def outputHeaderValue = request.headers.get("input-value") + ":bar"
response.headers.set("output-value", outputHeaderValue)
next()
}
handler {
render "received: " + request.path
}
}
def result = GroovyUnitTest.handle(handlers) {
header "input-value", "foo"
uri "some/path"
}
assert result.rendered(String) == "received: some/path"
assert result.headers.get("output-value") == "foo:bar"
handlers
- the handlers to testclosure
- the configuration of the request fixtureHandlerTimeoutException
- if the handler takes more than RequestFixture.timeout(int)
seconds to send a response or call next()
on the contextException
- any thrown by closure
public static GroovyRequestFixture requestFixture()
Handler
.public static GroovyRequestFixture requestFixture(RequestFixture requestFixture)
Handler
, by wrapping the given RequestFixture
.requestFixture
- The request fixture to wrap