org.sculptorgenerator:sculptor-generator-test
which provides support code for testing the generator and its templates / cartridges.To use the new generator test support code in a project add the following to the projects POM:
<dependencies>
<dependency>
<groupId>org.sculptorgenerator</groupId>
<artifactId>sculptor-generator-library</artifactId>
<version>3.0.2-SNAPSHOT</version>
<scope>provided</scope>
</dependency>
<dependency>
<groupId>org.sculptorgenerator</groupId>
<artifactId>sculptor-generator-test</artifactId>
<version>3.0.2-SNAPSHOT</version>
<scope>test</scope>
</dependency>
</dependencies>
With the test support code (e.g. GeneratorTestBase
) generator tests like the following one can be implemented:
package generator
import org.junit.BeforeClass
import org.junit.Test
import org.sculptor.generator.test.GeneratorTestBase
import static org.sculptor.generator.test.GeneratorTestExtensions.*
class DomainObjectReferenceTmplOverrideTest extends GeneratorTestBase {
static val TEST_NAME = "library"
new() {
super(TEST_NAME)
}
@BeforeClass
def static void setup() {
runGenerator(TEST_NAME)
}
@Test
def void assertOverridenTemplateInMediaBase() {
val mediaCode = getFileText(TO_GEN_SRC + "/org/sculptor/example/library/media/domain/MediaBase.java");
assertContains(mediaCode, 'public void addToEngagements(Engagement engagementElement) {');
}
}