The Gradle Plugin
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:Â
Â
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 toÂbuild/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".Â
Â