Hi,

I am trying "excercise" my t5 components library with testify. I
created a simple page which will contain the component to test. For
now, it contains only plain html. I am getting this error when running
mvn test

Caused by: java.lang.RuntimeException: Base class
com.formos.tapestry.testify.testng.TapestryTest (super class of
si.najdi.tapestry.library.base.AbstractT5ComponentsLibraryTest) is not
in a controlled package and is therefore not valid. You should try
moving the class to package si.najdi.tapestry.library.base.
    at 
org.apache.tapestry5.internal.services.ComponentClassTransformerImpl.transformComponentClass(ComponentClassTransformerImpl.java:150)
    at 
$ComponentClassTransformer_123772d69dd.transformComponentClass($ComponentClassTransformer_123772d69dd.java)
    at 
org.apache.tapestry5.internal.services.ComponentInstantiatorSourceImpl.onLoad(ComponentInstantiatorSourceImpl.java:205)
    at javassist.Loader.findClass(Loader.java:340)
    ... 79 more


Here is the directory structure of my t5 library:

├───src
│   ├───main
│   │   ├───java
│   │   │   └───si
│   │   │       └───najdi
│   │   │           └───tapestry
│   │   │               └───library
│   │   │                   ├───components
│   │   │                   │       DayMonthYearDateInput.java
│   │   │                   │
│   │   │                   ├───mixins
│   │   │                   │       ZoneUpdater.java
│   │   │                   │
│   │   │                   ├───services
│   │   │                   │       LibraryModule.java
│   │   │                   │       TestInfrastructureModule.java
│   │   │                   │
│   │   │                   └───util
│   │   │                           IntegerOptionModel.java
│   │   │                           IntegerSelectModel.java
│   │   │                           IntegerValueEncoder.java
│   │   │                           Month.java
│   │   │
│   │   └───resources
│   │       │   log4j.properties
│   │       │
│   │       └───si
│   │           └───najdi
│   │               └───tapestry
│   │                   └───library
│   │                       ├───components
│   │                       │       day-month-year-date-input-error.png
│   │                       │       day-month-year-date-input.png
│   │                       │       DayMonthYearDateInput.properties
│   │                       │       DayMonthYearDateInput.tml
│   │                       │       DayMonthYearDateInput.xdoc
│   │                       │       DayMonthYearDateInput_sl_SI.properties
│   │                       │
│   │                       ├───mixins
│   │                       │       ZoneUpdater.js
│   │                       │
│   │                       └───pages
│   │                               DayMonthYearDateInputTestPage.tml
│   │
│   ├───site
│   │   │   site.xml
│   │   │
│   │   └───xdoc
│   │           index.xml
│   │
│   └───test
│       ├───conf
│       │       testng.xml
│       │
│       └───java
│           └───si
│               └───najdi
│                   └───tapestry
│                       └───library
│                           ├───base
│                           │       AbstractT5ComponentsLibraryTest.java
│                           │
│                           └───pages
│                                   DayMonthYearDateInputTestPage.java


testng.xml
====================
<!DOCTYPE suite SYSTEM "http://testng.org/testng-1.0.dtd";>
<suite name="Najdi.si Tapestry Components Suite" parallel="false"
thread-count="10" annotations="1.5" verbose="2">
    <parameter name="tapestry.integration-webapp" value="src/main/webapp"/>
    <test name="DayMonthYearDateInput">
        <classes>
            <class
name="si.najdi.tapestry.library.pages.DayMonthYearDateInputTestPage"/>
        </classes>
    </test>
</suite>


DayMonthYearDateInputTestPage.java
=======================================
package si.najdi.tapestry.library.pages;

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

import si.najdi.tapestry.library.base.AbstractT5ComponentsLibraryTest;

public class DayMonthYearDateInputTestPage extends
AbstractT5ComponentsLibraryTest {

        @Test
        public void testElementIsOnPage() {
        Document page = tester.renderPage("DayMonthYearDateInputTestPage");
        Assert.assertNotNull(page.getElementById("h1"));
    }
}


Thanks for any input!
Borut

Reply via email to