1

Maven ビルド中に JBehave テストを実行するセットアップを行っています。

テスト ステップには、SoapUI Java クラスを使用して Web サービスに要求を送信することが含まれます。

テストごとに、すべてが正常に機能しています。私の問題は、進行状況の SoapUI 部分が log4j 設定を上書きしているように見えるため、後続のログ呼び出しがコンソール (またはファイル) に出力されないことです。

私が呼び出す回避策を試しました

    ClassLoader loader = this.getClass().getClassLoader();
    URL resource = loader.getResource("log4j.xml");
    PropertyConfigurator.configure(resource);

構成を元の構成にリセットしようとしましたが、これまでのところ成功していません。

Log4j (1.2) および SoapUI (4.5.1) は、pom で単純な設定を使用します。ロガーは次のように作成されます protected final Log log = LogFactory.getLog(getClass());

私が得るコンソール出力は次のとおりです。

    pool-1-thread-1 16:36:08,212 DEBUG ästeps.LoginSteps:25 - logging in user: testfir
    pool-1-thread-1 16:36:08,213 DEBUG äpages.LoginPage:26 - Create LoginPage
    pool-1-thread-1 16:36:08,985 DEBUG äpages.LoginPage:38 - login user: testfir
    pool-1-thread-1 16:36:10,343 DEBUG äpages.WorkspacePage:36 - creating WorkspacePage
    Givet user testfir has logged in
    16:36:11,634 WARN  [SoapUI] Missing folder [D:\proj\src\test\functional-tests\.\ext] for external libraries
    16:36:11,809 INFO  [DefaultSoapUICore] initialized soapui-settings from [C:\Users\xxx\soapui-settings.xml]
    16:36:12,176 INFO  [WsdlProject] Loaded project from [file:/D:/proj/src/test/functional-tests/src/test/resources/ReceiveCase-soapui.xml]
    16:36:12,640 DEBUG [HttpClientSupport$SoapUIHttpClient] Attempt 1 to execute request
    16:36:12,640 DEBUG [SoapUIMultiThreadedHttpConnectionManager$SoapUIDefaultClientConnection] Sending request: POST /soa-infra/services/default/ReceiveCases/ReceiveCase_v1_0_ep HTTP/1.1
    16:36:13,841 DEBUG [SoapUIMultiThreadedHttpConnectionManager$SoapUIDefaultClientConnection] Receiving response: HTTP/1.1 200 OK
    16:36:13,842 DEBUG [HttpClientSupport$SoapUIHttpClient] Connection can be kept alive indefinitely
    And a case exists
    When case is choosen
    16:36:46,832 DEBUG [SoapUIMultiThreadedHttpConnectionManager$SoapUIDefaultClientConnection] Connection closed
    Then the details are displyed

そして、私はログ出力を期待しています

ケース ID の設定: 123456

「ログインページの作成」と同じ方法で。

これがなぜなのか、ログ エントリを表示するにはどうすればよいのかわかりません。そこに何かアイデアはありますか?

敬具、クリスチャン

4

1 に答える 1

0

問題の根本を見つけることができました。ファイルのエンコーディングを歪めたのは Maven でした。追加する

    <configuration>
      <encoding>UTF-8</encoding>
      <inputEncoding>UTF-8</inputEncoding>
      <outputEncoding>UTF-8</outputEncoding>
      <argLine>-Dfile.encoding=UTF-8</argLine>
    </configuration>

pomファイルのmaven-surefire-plugin一部に私の問題を解決しました。

/乾杯

于 2013-01-23T13:36:18.890 に答える