17

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

TestNG にすべてのテストを実行するよう指示する 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>

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

4

5 に答える 5

10

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

<!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>

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

于 2012-09-18T08:42:51.103 に答える
4

3 レベルのパッケージがあり、テスト クラスがcom.abc.xyzパッケージの下にあるとします。

<package name="*" /> </packages> , doesn't work. 
<package name="com.*.*" />  doesn't work. 
<package name="com.abc.*" />  does work.
于 2015-08-06T14:39:40.230 に答える
1

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

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

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

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

于 2012-09-18T10:48:59.467 に答える