Whiteship's Note


봄싹 사이트 1.0 M1 오픈 임박!!

모하니?/Coding : 2009.11.27 08:35


현재 봄싹 사이트(0.9)에서 보다 더 스터디 관리 기능을 보강했으며, 위키 디자인을 개선하여 편의성을 높였습니다. 트위터와 이메링을 비롯한 다양한 알림 서비스도 이용하실 수 있습니다. 특히 구글 토크를 사용하시는 분들은 스터디나 모임이 있을 때 메시지를 받을 실 수 있는것은 기본이고, 채팅창에서 study? meeting? 으로 현재 진행중인 스터디와 모임 정보를 확인하실 수도 있습니다. 홈 페이지에는 낙서장과 공지 사항을 추가했으며 스터디-모임 목록, 위키 목록으로 바로 이동할 수 도 있습니다. 또한 컨텐츠 작업으로, 스프링 3.0 레퍼런스 번역이 활발히 진행중입니다. 위키를 더 개선하고나면 저도 본격적으로 봄싹 컨텐츠 만들기 작업에 돌입할 생각입니다. 스프링소스 블로그 번역, 각종 웹 아티클 번역 자료를 봄싹 위키에 정리할 겁니다. 아무래도 제 블로그 보다는 위키가 찾아보기 편하니까요. (블로그에도 올리긴 할 겁니다.ㅋ)

내용적인 면이나 기능적인 면을 떠나서 이번 배포의 가장 큰 주안점은 바로 디자인입니다.

불과 두 달 사이에 획기적으로 달라진 봄싹 1.0 M1은 내일 낮에 오픈합니다.


Develop with passion! Evolve with SpringSprout!!




top

TAG 1.0 M1, 봄싹

WebTUnit 1.0 M1 배포합니다.

모하니?/Coding : 2009.05.19 21:43


아래 매뉴얼을 참조하세요.
영어로 작성했는데, 너그러이 봐주세요.

이번 주 내로 배포하고 싶은.. M2 버전에서는 다음 두 가지를 중점접으로 다루겠습니다.
- 샘플 애플리케이션을 추가
- Jetty 추가

저저번주 금요일부터 오늘까지 달렸으니까..
금,  월~금, 월, 화. 8일이네요.
이제 쬐끔 쓸만해져서 공개했습니다.

웹 테스트 하실 때 조금이나마 보탬이 되었음 합니다.
막심 므라비차의 축하공연을 들으며 찬찬히 읽어 보세요. 간단합니다.



0. add repository setting to pom.xml or settings.xml

        <repository>
            <id>opensprout nexus</id>
            <name>OpenSprout Nexus public</name>
            <url>http://www.opensprout.org/nexus/content/groups/public</url>
        </repository>

        WebTUnit is provided by OpenSprout Nexus.

1. add dependency to pom.xml

        <!-- WebTUnit -->
        <dependency>
            <groupId>org.opensprout</groupId>
            <artifactId>webtunit</artifactId>
            <version>1.0-M1</version>
        </dependency>

2. add cargo-maven-plugin and maven-surefire-plugin to pom.xml

    2-1. cargo-maven-plugin configuraion

        <build>
        ...
            <plugin>
                <groupId>org.codehaus.cargo</groupId>
                <artifactId>cargo-maven2-plugin</artifactId>
                <version>1.0.1-SNAPSHOT</version>
                <configuration>
                    <wait>false</wait>
                    <container>
                        <containerId>tomcat6x</containerId>
                        <type>installed</type>
                        <home>tomcat/apache-tomcat-6.0.18</home>
                    </container>
                    <deployer>
                        <type>installed</type>
                    </deployer>
                    <configuration>
                        <properties>
                            <cargo.servlet.port>8080</cargo.servlet.port>
                        </properties>
                    </configuration>
                </configuration>
                <executions>
                    <execution>
                        <id>start-container</id>
                        <phase>pre-integration-test</phase>
                        <goals>
                            <goal>start</goal>
                        </goals>
                    </execution>
                    <execution>
                        <id>stop-container</id>
                        <phase>post-integration-test</phase>
                        <goals>
                            <goal>stop</goal>
                        </goals>
                    </execution>
                </executions>
            </plugin>

        First, you must set up your tomcat home to <home> element above or,
        just download and unzip tomcat archive to project/tomcat folder.

        If you set <wait> to true, then when you run a test server by 'mvn cargo:start',
        the console will be wait untile you stop the process by CTRL + C.
        This is useful when you want to test on Eclipse by CTRL + ALT + X -> T or CTRL + F11.
        But, you shold be careful when you use phase that through pre-integration-test phase.
        That process will stop and wait in pre-integration-test until you stop the test server.

        By default setting, you can use cargo with phases thar through pre-integration-test phase.
        For example, when you run 'mvn verify', you will pass pre-integration-test phase,
        but you will not be stopped by process, because it dooesn't wait.
        This will help you when you set up this project in continuous integration environment.

    2-2. maven-surefire-plugin configuration

            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-surefire-plugin</artifactId>
                <configuration>
                    <excludes>
                        <exclude>**/*WebTest.java</exclude>
                    </excludes>
                </configuration>
                <executions>
                    <execution>
                        <id>integration-test</id>
                        <goals>
                            <goal>test</goal>
                        </goals>
                        <phase>integration-test</phase>
                        <configuration>
                            <excludes>
                                <exclude>none</exclude>
                            </excludes>
                            <includes>
                                <include>**/*WebTest.java</include>
                            </includes>
                        </configuration>
                    </execution>
                </executions>
            </plugin>
        ...
        </build>

        If you want to use another naming pattern, or package pattern,
        change '**/*WebTest.java' value to what you want.

3. make some web test with webdriver.

    @RunWith(WebTestRunner.class)
    @WarConfiguration("opensprout")
    public class MemberWebTest {

        @WebTest
        public void memberPages(){
            WebDriver driver = new HtmlUnitDriver();
            driver.get("http://localhost:8090/springsprout/member/list.do");
            MemberListPage listPage = PageFactory.initElements(driver, MemberListPage.class);
            assertEquals(2, listPage.getTableRows());
        }
    }

    If you want to feel comfortable when you write some web test codes,
    I recommend Page Object Pattern(http://code.google.com/p/webdriver/wiki/PageObjects).
   
    You can also use @DataConfiguration when you want to input and delete some test data.
    Check some usecases.
    - http://whiteship.me/2237
    - http://whiteship.me/2238
    - http://whiteship.me/2239

4. run test.

    Open a console, type 'mvn verify'.
    Or, modify, cargo-maven-plugin's <wait> to true, and run it with JUnit in Eclipse.
   
5. give me a feedback

    http://github.com/whiteship/WebTUnit/issues
   

top