Dear Wiki user,

You have subscribed to a wiki page or wiki category on "Tapestry Wiki" for 
change notification.

The following page has been changed by Sinan Saral:
http://wiki.apache.org/tapestry/Tapestry5-TestWithTapestry-Spring

New page:
You need a new version of org.apache.tapestry5.test.PageTester which creates 
the SpringContext itself.

{{{
package mypackage.test;

import org.apache.tapestry5.test.PageTester;
import org.apache.tapestry5.internal.spring.SpringModuleDef;
import org.apache.tapestry5.ioc.def.ModuleDef;
import org.springframework.context.ApplicationContext;
import org.springframework.context.support.ClassPathXmlApplicationContext;

public class PageTesterSpring extends PageTester {

    public PageTesterSpring(String appPackage, String appName) {
        super(appPackage, appName);
    }

    public PageTesterSpring(String appPackage, String appName, String 
contextPath, Class... moduleClasses){
        super(appPackage, appName, contextPath, moduleClasses);
    }

    protected ModuleDef[] provideExtraModuleDefs() {
        ApplicationContext springContext = new 
ClassPathXmlApplicationContext(new String[]{"applicationContext.xml"});
        return new ModuleDef[]{ new SpringModuleDef(springContext) };
    }
}
}}}

Then you can use your PageTesterSpring just like the PageTester:
{{{
package mypackage.test.frontend.pages;

import org.apache.tapestry5.dom.Document;
import mypackage.PageTesterSpring;
import org.testng.Assert;
import org.testng.annotations.Test;

public class Index extends Assert {

    @Test
    public void test1() {       
        String appPackage = "mypackage.frontend";
        String appName = "app";
        PageTesterSpring tester = new PageTesterSpring(appPackage, appName, 
"WebContent");

        Document doc = tester.renderPage("Index");
        assertEquals(doc.getElementById("id1").getChildMarkup(), "hello");
    }
}
}}}

---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to