The Gradle test plugin provides a mechanism for running in-container integration tests as part of an automated build process. The following shows an example of using the plugin in a build:
Code Block | ||
---|---|---|
| ||
apply plugin: 'fabric3-test'
buildscript {
dependencies {
classpath group: 'org.fabric3.gradle', name: 'fabric3-test', version: fabric3Version
}
}
fabric3Test {
// Writes a JUnit report to build/reports/integration-tests. Default is false (no report written)
report true;
// Enables resolution of remote snapshots
remoteSnapshotRepositoryEnabled true;
// Uses a shared system config located in a configuration directory under the project directory
systemConfigFile new File("$projectDir/configuration/systemConfig.xml")
// Alternatively, systemConfig can be specified inline as a String:
// systemConfig '<config>...</config>'
// installs the JPA profile and EasyMock extension
profile group: fabric3Group, name: 'profile-jpa', version: fabric3Version
extension group: fabric3Group, name: 'fabric3-mock', version: fabric3Version
// installs a project as a contribution and a file as a contribution
contribution project(':app-service')
contribution new File("$projectDir/configuration/app.xml")
} |
The following are plugin configuration properties:
contribution
- installs a Project or File as a contribution. Can be in Gradle Project, String, dependency, or File formprofile
- installs a Fabric3 runtime profile using Gradle String or dependency formextension
- installs a Fabric3 runtime extension using Gradle dependency formshared
- specifies a shared dependency between the build and runtime; may be in String, or Gradle dependency form.sharedProjects
- specifies a shared dependency between the build and runtime in String formsystemConfig
- specifies the systemConfig to boot the embedded runtime with as a StringsystemConfigFile
- takes a file pointing to the system configuration to boot the embedded runtime withreport
- if true, writes reports tobuild/reports/integration-tests
; false by default.remoteSnapshotRepositoryEnabled
- if true, enables remote resolution of snapshot dependencies; true by defaultremoteRepositoryEnabled
- if true, enables remote resolution of dependencies; true by defaultupdatePolicy
- sets the dependency update policy. Valid values are: "never", "always", "daily".snapshotUpdatePolicy
- sets the snapshot dependency update policy. Valid values are: "never", "always", "daily".