0

RunTests が完了したら sendmail を呼び出したいのですが、機能しません。

<project name="Sample usage of Salesforce Ant tasks" basedir="." xmlns:sf="antlib:com.salesforce" default="RunTests">
    <!--******************************************* P R O P E R T Y   F I L E *********************************************-->
    <property file="build.properties"/>
    <property environment="env"/>
    <!--*******************************************RunTests***********************************************************-->
    <target name="RunTests">
        <record name="RunTest.log" action="start"/>
            <sf:compileAndTest  username="${sf.backup_username}" password="${sf.backup_password}" serverurl="${sf.backup_serverurl}" >
                <runTests Alltests="true"/>
            </sf:compileAndTest>
        <record name="RunTest.log" action="stop"/>    
    </target>
    <target name="sendmail" depends="RunTests"> 
        <mail mailhost="email.corp.testcompany.com" mailport="25" subject="Run all tests - Sandbox 1337" messagefile="RunTest.log">
            <from address="user2@testcompany.com"/>
            <replyto address="user2@testcompany.com"/>
            <to address="user2@testcompany.com"/>
        </mail> 
    </target>       
</project>

次の失敗が発生します-

ビルドに失敗しました C:\ANT_HOME\QA_1337_TestRunner\build.xml:8: 失敗しました:

以前のタスクに失敗した場合でも、「sendemails」タスクを実行する方法はありますか?

4

2 に答える 2

3

実行してみてください

ant sendmail

または、デフォルトを sendmail に変更します

<project name="Sample usage of Salesforce Ant tasks" basedir="." xmlns:sf="antlib:com.salesforce" default="sendmail">

そして単に実行する

ant

編集:

タスクのセールスフォースのドキュメントをざっと見たところsf:compileAndTest、テストやコンパイルが失敗したときにターゲットの実行の失敗を回避する方法に関する有用な情報が見つかりませんでした。(おそらくcheckonlyプロパティですが、これが必要なものであるかどうか、または ant タスクを介して渡すことができるかどうかはわかりません)

そのため、ターゲットの実行失敗を外部で処理する必要があると思います。これを行うには、ant-contrib の trycatch タスクを使用できます。

次のようになります。

<trycatch property="foo" reference="bar">
  <try>
    <record name="RunTest.log" action="start"/>
        <sf:compileAndTest  username="${sf.backup_username}" password="${sf.backup_password}" serverurl="${sf.backup_serverurl}" >
            <runTests Alltests="true"/>
        </sf:compileAndTest>
    <record name="RunTest.log" action="stop"/>
  </try>

  <catch>
    <echo>Got error while running compileAndTest</echo>
  </catch>

  <finally>
    <mail mailhost="email.corp.testcompany.com" mailport="25" subject="Run all tests - Sandbox 1337" messagefile="RunTest.log">
        <from address="user2@testcompany.com"/>
        <replyto address="user2@testcompany.com"/>
        <to address="user2@testcompany.com"/>
    </mail>
  </finally>
</trycatch>

このセクションを使用して<catch>、テストが失敗したときに特別な電子メールを送信できることに注意してください。

およびpropertyreference使用して、障害に関する情報を取得できます (存在する場合)。

于 2012-12-27T02:26:22.700 に答える
1

failurePropertyhaltOnFailure属性を調べたいと思います。

このスレッドの回答の詳細: https ://stackoverflow.com/a/134563/708777

于 2012-12-27T06:56:30.957 に答える