0

クライアントとサーバーの 2 つのプロジェクトで構成される単純なゲームがあります。次に、それらが正しく相互作用するかどうかをテストしたいと思います。セットアップは次のとおりです。1 つの Maven 親プロジェクト、および子モジュールとしてのサーバー/クライアント/統合テスト。このガイドhttp://docs.codehaus.org/display/MAVENUSER/Maven+and+Integration+Testing
に従おうとしました。これは、maven-failsafe-plugin を使用した統合テストです。残念ながら、プラグインとして利用可能な jetty-server の起動方法のみを説明しています。

テストのために、この構成で自分のクライアントとサーバーをどこでどのように起動しますか (または、より良い構成がありますか?) 私は次のようなことをしたいと思っていました: まず、テストの前にクライアントとサーバーを起動したいと思います。jUnittest では、Socket と Serversocket が必要です。1 つはサーバーに接続され、もう 1 つはクライアントに接続されます。次に、このセットアップを介してクライアント/サーバーの相互作用をパイプし、その間にそれを検証するか、特定のメッセージを個別に送信して、答えを検証したいと考えています。

そのようなことは可能ですか、それとももっと良い方法がありますか?

4

1 に答える 1

1

以前に同様のことを行ったことがありますが、残念ながら現在はコードを入手できません。しかし、それは以下のようなものでした。ここで、統合前テストでは ant exec タスクを使用してサーバーを起動し、統合後テストではサーバーを停止します。

<plugin>  
    <artifactId>maven-antrun-plugin</artifactId>  
    <version>1.7</version>  
    <executions>  
        <execution>  
            <id>start-server</id>  
            <phase>pre-integration-test</phase>  
            <configuration>  
                <target>  
                    <exec executable="command to start your server">
                </target>  
            </configuration>  
            <goals>  
                <goal>run</goal>  
            </goals>  
        </execution>  
        <execution>  
            <id>stop-server</id>  
            <phase>post-integration-test</phase>  
            <configuration>  
                <target>  
                    <exec executable="command to stop your server"> 
                </target>  
            </configuration>  
            <goals>  
                <goal>run</goal>  
            </goals>  
       </execution>  
    </executions>  
</plugin>
于 2013-05-16T04:40:59.280 に答える