2016-09-08 18 views
0

MOTIVATION:現時点では、Javaで書かれた複数のテストスイートがあり、Antでビルドして実行できます。私は自分のラップトップでテストを開発して研磨し、毎晩雲のリモートマシンで実行します。場合によっては、ローカルでいくつかの特定のテストが合格しても、クラウドで永久に失敗するというさまざまな理由により、発生することがあります。それから私はデバッグする必要があります。どのように私は今それを行う:私はデバッグする必要があるもの以外のすべてのテストに@ Ignoreアノテーションを追加し、自分のコードをコミットし、次にクラウドのマシンにリモートで接続してラップトップで何が起こっているのかを確認し、クラウド。このようにして、スイートからの1つのテストだけが実行され、RDPを介して何が失敗しているかがわかります。これは私が暮らすことができるものですが、これらの@ Ignoreアノテーションを追加して、デバッグ時以外のすべてのテストからそれらを削除するのは厄介です。 Antに、すべてのテストを実行する特定のクラスを実行せず、特定のテストを1つだけ実行するようにターゲットに指示する方法があれば、素晴らしいものになります。ある特定のスイートのための私のAntターゲットのAntとJUnitでクラスから特定のテストのみを実行する方法はありますか?

例:あなたが見ることができるように

<target name="ADMPSmokeTest"> 
     <mkdir dir="${junit.output.dir}"/> 
     <junit fork="yes" printsummary="withOutAndErr" showoutput="true"> 
      <formatter type="xml"/> 
      <test name="me.enreach.automation.sanoma.SmokeTest" todir="${junit.output.dir}"/> 
      <classpath refid="QARegression.classpath"/> 
     </junit> 
</target> 

<test name="me.enreach.automation.sanoma.SmokeTest" todir="${junit.output.dir}"/>は、それがSmokeTestクラスのすべてのテストを実行する必要があると言います。 私は何とかそれが実行するようにそれを言うことができるSmokeTest.createCampaignと言うことができますか? 本当に時間を節約できるソリューションのみをアドバイスしてください。「デバッグする必要があるときに別のテストスイートを作成する」などは言わないでください。

答えて

0

はい、あります。 test要素にmethods属性を追加できます。これは、name属性で指定されたクラスからメソッド名のカンマ区切りのリストを提供できるようになっていますが、複数のメソッドで動作するようにはできませんでした。

例:methodsため

<test name="me.enreach.automation.sanoma.SmokeTest" methods="createCampaign"/> 

サポートのAnt 1.8.2で追加されました。

関連する問題