構成
私はEclipseのバージョン2019-12(4.14.0)を持っています(最近2019-03からアップグレードされています)。
TestNG 6.14.3.201902250526
TestNG M2E (Maven) Integration (Optional) 6.14.3.201902250526
TestNG P2 Features 6.14.3.r201802240500
Eclipseはjdk1.8.0_152
に対して実行されています。
Eclipseでは、my Javaビルドパスにtestng-6.14.3
が含まれています。Eclipseプラグインのバージョンをプロジェクトで使用しているバージョンと照合しようとしました。
Properties -> TestNG
の下にすべてのデフォルト設定があります。 「Use Project TestNG.jar」の設定はありません。
機能
Gradleを使用してコマンドラインからテストを実行すると、すべて問題なくパスします。
Eclipseで表示される複雑なエラーはありません。
機能しないもの
(クラスを右クリックして)Eclipseからテストを実行すると、コンソールに次のように表示されます。
Error: Could not find or load main class org.testng.remote.RemoteTestNG
testng-remote.jar
のコピーが必要なようです。これはプラグインの一部としてインストールされている必要がありますか、それとも依存関係としてbuild.gradle
に含める必要があるのですか?
Eclipseからテストを実行できないのはなぜですか?このエラーを解決するには、さらに何かをインストールする必要がありますか?
私が試したもの
TestNGプラグインを削除して再インストールしてみました。
デフォルトでは、Gradleは検出したすべてのテストを実行します。これは、コンパイルされたテストクラスを検査することによって実行されます。 useTestNG()を指定すると、Gradleは@Testアノテーションが付けられたすべてのメソッドをスキャンして実行します。
例1.以下は、「テスト」タスクの基本構成です
plugins { id 'Java' } group 'com.test' version '1.0-SNAPSHOT' sourceCompatibility = 1.8 repositories { mavenCentral() } dependencies { compile group: 'org.testng', name: 'testng', version: '6.14.3' } test { useTestNG() }
Gradle の場合、testCompile依存関係を使用します。
repositories { jcenter() } dependencies { testCompile 'org.testng:testng:6.10' }
特定のバージョンについては、オプションがあります。
- ヘルプ/新しいソフトウェアのインストール...を選択します。
- 「Work with:」フィールドに更新サイトのURLを入力します。
- リリース用の更新サイト: http://dl.bintray.com/testng-team/testng-Eclipse-release/ 。
- URLの横のチェックボックスがオンになっていることを確認して、[次へ]をクリックします。
- その後、Eclipseがプロセスをガイドします。
- ここで古いバージョンのプラグインをインストールすることもできます。このページのURLも更新サイトであり、直接ダウンロードリンクではないことに注意してください。
ソースをダウンロードして、自分でディストリビューションをビルドできます。
git clone git://github.com/cbeust/testng.git cd testng ./build-with-gradle
私はそのようなgradleの問題を覚えていませんが、それはmavenでのテスト(自動ビルドがオフになっている)の問題に似ています。魂はプロジェクト(mavenの場合はalt + f5)を再構築することであり、そのような再構築のために-キャッシュが更新されます。
Build.gradleに追加してみてください。
buildscript {
repositories {
mavenCentral()
}
dependencies {
classpath "io.spring.gradle:dependency-management-plugin:1.0.3.RELEASE"
classpath group: 'org.testng', name: 'testng', version: '6.8.+'
} }
使用方法に従ってtestngバージョンを変更します。