web-dev-qa-db-ja.com

TestNGがテストスイートでテストを実行しない

XMLとTestNGを使用してテストスイートを実行しようとしていますが、Eclipseとコマンドラインの両方を使用すると常に同じメッセージが表示されます。

[TestNG] Running:
  /Users/achavez/Programs/Selenium/Java/src/tests/resources/testng.xml


===============================================
TestingSuite1
Total tests run: 0, Failures: 0, Skips: 0
===============================================

ファイルは正しく読み取られますが、テストが実行されていないようです。

これらは私のtestng.xmlの内容です:

<!DOCTYPE suite SYSTEM "http://testng.org/testng-1.0.dtd">
<suite name="TestingSuite1" verbose="1">
    <test name="Test1"  >
        <packages>
            <package name="tests"/>
        </packages>
    </test>
</suite>

そしてこれは私のディレクトリ構造がEclipseでどのように見えるかです:

TestNG Directory Structure in Eclipse

また、これはコマンドラインからテストスイートを実行しようとしている方法でもあります。

Java -jar /Applications/Zend\ Studio.app/Contents/Resources/Java/plugins/org.testng.Eclipse_6.8.6.20141201_2240/lib/testng.jar src/tests/resources/testng.xml

私はEclipseを通じてプロジェクトをクリーンアップしようとしましたが、それは役に立たなかったようです。私も実行してみました:

mvn cleanしかし、それも仕事をしませんでした。

私を正しい方向に向ける助けがあれば大歓迎です!

12
ILikeTacos

インポートされたTestアノテーションのインポートを確認することもできます。

import org.testng.annotations.Test;
@Test
public myTest(){ ... }

例ではありません:

import org.junit.Test;
20
teejay

メソッドアクセス修飾子を機能させるためには、メソッドアクセス修飾子をプライベートからプライベートに変更する必要がありました。

9
Sindhu

明らかに、TestNGはテストスイート用のXMLファイルの生成に関して間違っています。

手紙の指示に従っても、私のテストは実行されていませんでした。これで終わりましたtestng.xmlファイルと私のテスト、実行を開始:

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE suite SYSTEM "http://testng.org/testng-1.0.dtd">
<suite name="TestingSuite" parallel="none">
  <test name="Test1">
    <classes>
      <class name="tests.Page1"/>
    </classes>
  </test>
    <test name="Test 2">
        <classes>
            <class name="tests.Page2"/>
        </classes>
    </test>
</suite>
4
ILikeTacos

同様の問題が発生し、Eclipse内でプロジェクトのクリーンアップを実行することで解決しました(プロジェクト->クリーンアップ->選択したプロジェクトのクリーンアップ)

3
Yolan Moodley

私の場合、@ TestアノテーションはIDEとしてimport org.junit.Testとして自動的にインポートされました。

import org.testng.annotations.Testに変更した後、テストは正しくピックアップされました。

1
Arwen

コードに2つの問題がありました:
1。これは、@ Testメソッドがブール値を返す別のメソッドを呼び出していたためです。同じ@Testとメソッドにコメントすると、testNG xml全体が機能し始めました。
2。 2番目の間違いは、私が以下を使用していたことです。これは、ポイクラスの割り当てが間違っていました。ワークブックWB =新しいXSSFWorkbook(FIS);シートWSh = WB.getSheetAt(1);上記を以下に変更しました:XSSFWorkbook WB = new XSSFWorkbook(FIS); XSSFSheet WSh = WB.getSheetAt(1);上記の両方の修正後、スクリプトは機能し始めました。

1

私は同じ問題に直面していました、私はそれが私のために働いたEclipseマーケットプレイスからTestNGを更新/インストールしました

0
Pavan Test

@Testメソッドが戻り値の型がtrue/falseであるpublic boolean()の場合、実行されません。奇妙ですが、私の場合は機能しました。

0
viky

私はこれと同じ問題を抱えていました、これが私のために働いたものです:

  1. すべてのTestNGライブラリをプロジェクトの別のlibフォルダーに配置しました

    a。 com.beust.jcommander_1.72.0.jar

    b。 org.Apache-extras.beanshell.bsh_2.0.0.b6.jar

    c。 org.testng_6.14.2.r201802161450.jar

    d。 or.yaml.snakeyaml_1.17.0.jar

  2. また、Selenium-serverとchromedriverのコピーもlibフォルダーに入れました

  3. プロジェクトフォルダーから(testng.xmlプロジェクトのルートにあります)私は実行しました:

    Java -cp .\lib\*;.\target\classes org.testng.TestNG testng.xml

0
Richie_b

私は同じ問題を抱えていて、これが私の結果です:私のプロジェクトでは、テストファイルを

src/test/Java/com/temporary/core

同時に私はテストのためのリソースを持っていました

src/test/resources/com/temporary/Core

私が見つけたように、testngは2番目のディレクトリでテストファイルを見つけようとしました。

リソースのあるディレクトリの名前をCoreからtcoreに変更すると、問題が修正されました。

非常にシンプルですが、見分けるのが難しい場合があります。 @Testは、対応するデータプロバイダーからデータが返されない場合は選択されません。

0
user10761294

私にもこの問題があり、上記の解決策はどれも機能しませんでした。ただし、Eclipseを再起動すると、再起動されました。これは不必要な答えのように思えますが、私がもっと早くやっていれば、私自身も多くの時間を節約できただろうので、とにかく投稿します。

0
jumps4fun

私の場合、テストは誤って@Test(...)内で "enabled = false"とマークされました。値が「true」としてマークされていることを確認してください。

0
sue