public final class BindingsImposition extends java.lang.Object implements Imposition
imposition
of additional and overridden Guice bindings, used by Guice.registry(Action)
and similar methods.
This is typically used to override bindings at test time.
import ratpack.server.RatpackServer;
import ratpack.guice.BindingsImposition;
import ratpack.guice.Guice;
import ratpack.impose.ImpositionsSpec;
import ratpack.test.MainClassApplicationUnderTest;
import static org.junit.Assert.assertEquals;
public class Example {
public static class App {
public static void main(String[] args) throws Exception {
RatpackServer.start(s -> s
.registry(Guice.registry(r ->
r.bindInstance(String.class, "foo")
))
.handlers(c -> c
.get(ctx -> ctx.render(ctx.get(String.class)))
)
);
}
}
public static void main(String[] args) throws Exception {
new MainClassApplicationUnderTest(App.class) {
@Override
protected void addImpositions(ImpositionsSpec impositions) {
impositions.add(BindingsImposition.of(r ->
r.bindInstance(String.class, "bar")
));
}
}.test(testHttpClient ->
assertEquals("bar", testHttpClient.getText())
);
}
}
Impositions
Modifier and Type | Method and Description |
---|---|
Action<? super BindingsSpec> |
getBindings()
The bindings to add/override.
|
static BindingsImposition |
of(Action<? super BindingsSpec> bindings)
Creates a new bindings imposition of the given bindings.
|
public Action<? super BindingsSpec> getBindings()
public static BindingsImposition of(Action<? super BindingsSpec> bindings)
bindings
- the bindings to impose