New dependency with support code for testing generator template overriding

13 views
Skip to first unread message

Torsten Juergeleit

unread,
Jan 31, 2014, 7:59:50 PM1/31/14
to sculptor...@googlegroups.com
By fixing #93 we have a new generator dependency 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) {');
    }
}


An example is available in the project sculptor-shipping-generator.

/Torsten

Reply all
Reply to author
Forward
0 new messages