Configuration
The following options can be customized:
Description | Default | |
---|---|---|
Port | The port used by the embedded server. | Random. |
Path | The context path. | / |
Webapp | The webapp path (relative to project root path). | src/main/webapp |
Hooks | Server listener function (see details below). | Empty list. |
Properties | Environment properties set before starting server and resetted after shutdown. | Empty list. |
Parent classpath | Override the parent classpath for the deployed application. | null |
Descriptor | Custom web.xml . |
null |
Base directory | The base directory, where tomcat will store temporary files. | ./tomcat-work |
Naming | Tomcat naming | true |
Force META-INF | Force creation of META-INF directory if it does not exist. |
true |
Here is an example (using JUnit Jupiter API) that creates a rule using a configuration object:
import com.github.mjeanroy.junit.servers.jupiter.JunitServerExtension;
import com.github.mjeanroy.junit.servers.tomcat.EmbeddedTomcatConfiguration;
import org.junit.jupiter.api.RegisterExtension;
class MyTest {
private static final EmbeddedTomcatConfiguration configuration = EmbeddedTomcatConfiguration.builder()
.withPath("/app")
.withPort(8080)
.withWebapp("/src/webapp")
.withProperty("spring.profiles.active", "test")
.withOverrideDescriptor("src/test/resources/WEB-INF/web.xml")
.withParentClasspath(MyTest.class)
.withBaseDir("/tmp/tomcat")
.disableNaming()
.disableForceMetaInf()
.build());
@RegisterExtension
static final JunitServerExtension extension = new JunitServerExtension(configuration);
// Test suite...
}