web-dev-qa-db-ja.com

すべてのパッケージとすべてのファイルを含めるTestNG.xmlスイート

Maven + TestNG + Seleniumでテストフレームワークを実装しようとしています。

TestNGに[〜#〜] all [〜#〜]テストを実行するように指示するsuite.xmlをどのように宣言しますか?私はこれらすべてを役に立たないように試みました:

<!DOCTYPE suite SYSTEM "http://testng.org/testng-1.0.dtd" >
<suite name="Toplevel TestNG configuration" verbose="10">
  <test name="all">
    <classes>
      <class name="*" />
    </classes>
  </test>
</suite>

<!DOCTYPE suite SYSTEM "http://testng.org/testng-1.0.dtd" >
<suite name="Toplevel TestNG configuration" verbose="10">
  <test name="all">
    <groups>
      <run>
        <include name="*" />
        <exclude name="disabled" />
      </run>
    </groups>
  </test>
</suite>

<!DOCTYPE suite SYSTEM "http://testng.org/testng-1.0.dtd" >
<suite name="Toplevel TestNG configuration" verbose="10">
  <test name="all">
    <packages>
      <package name="*" />
    </packages>
  </test>
</suite>

私は、さまざまなパラメーターを持つさまざまなスイート構成を指定する必要がありますが、すべてがすべてのテストを実行しています。掘り下げることができるすべての例では、各クラスまたはパッケージを明示的にリストしているため、私にとっては意味がありません。

16
sibidiba

。*を使用して、私の知る限りすべてに一致させる必要があります。

20
luis

testng.xmlファイルを次のように宣言することで、パッケージ内にすべてのテストクラスを追加できます。

<!DOCTYPE suite SYSTEM "http://testng.org/testng-1.0.dtd" >
<suite name="sampleTest" parallel="false">

    <test name="sample-Test" preserve-order="true" verbose="2">
        <packages>
            <package name="org.sample.something.*"/>
        </packages>
    </test>

</suite>

検索オプションとしてテストに合格する場所はありません。そのようなことをしたい場合は、コードにスイートを実装し、そこに検索シナリオを実装する必要があります。

9
Dharshana

3つのレベルのパッケージがあり、テストクラスがcom.abc.xyz パッケージ。

<package name="*" /> </packages> , doesn't work. 
<package name="com.*.*" />  doesn't work. 
<package name="com.abc.*" />  does work.
3
nighteblis

AFAIK testngには、あなたが探しているような正規表現のオプションはありません。

しかし、私はあなたが望むものを2つの方法で得ることができると思います:

  1. Testngプラグインを使用してEclipseで作業している場合。すべてのパッケージが定義されているテストフォルダーを選択するだけです。 mavenでは、ほとんどの場合、src/test/Javaフォルダーです。右クリックして、「run as testng」と言います。これにより、すべてのクラスがリストされた一時的なcustomsuite.xmlが作成されます。 xmlをデフォルトのxmlとして保存できます。

  2. Mavenのsurefireプラグインには、 includes を指定してからパターンを指定するオプションがあります。 */。Javaに設定してみてください。Javaはすべてのテストケースをピックアップすると思います(ただし、試していません)。その後、テストをmvn testとして呼び出すことができます。

1
niharika_neo

以下は、TestNgの3レベルパッケージから動作します

<package name="orgPkg.namePkg.appnamePkg.applicationPkg.functionalityPkg"/></packages>
0