問題タブ [maven-surefire-plugin]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
maven - testng と maven を使用してさまざまなテスト スイートを実行する
TestNg と Maven を Surefire プラグインと共に使用して、テストを実行しています。同じ pom を使用して異なる時間に実行できるようにしたいいくつかの異なるコンポーネントがあります。現在、これを行うために、テストスイートを定義するいくつかの異なる XML ファイルがあり、pom をセットアップしているので、 mvn test -Dtestfile=/path を実行して代わりにそのスイートを使用できます。
XML ファイルを 1 つのファイルに結合し、テスト名または他のシステムからベースを選択する方法があるかどうか疑問に思っていましたか?
編集: 私はすべてのテストを Smoke、Sanity、Regression で定義しており、特定のコンポーネントに対してすべての Regressions を実行できるようにしたいと考えています。TestNG CLI を実行すると、-testnames comp1、comp2、comp3 などを指定できます。各コンポーネントは、複数のテストを含む 1 つの xml スイートで定義されます ()。exec:java プラグインを使用する以外に、maven でこれを行う方法があるかどうか疑問に思っていました。
java - ソースコードの失敗行へのsurefire-reportリンクを作成する方法
生成された確実なレポートを、エラーが発生したソース コードの行にリンクしようとしています。ここのプラグインのドキュメントに記載されているすべてに従っています。
正しいソース ファイルにリンクしていますが、行番号にはリンクしていません。
このようにする必要があります
しかし、代わりにこのようなものです
m2eclipse - m2eclipseで空のmvnプロパティを設定するにはどうすればよいですか?
eclipse/m2eclipse で mvn 実行構成を作成したい。次の mvn コマンドを模倣したい:
ただし、構成にパラメーターを追加するときは、キー「maven.surefire.debug」の値を指定する必要があります。
回避策はありますか?
java - maven-surefire-pluginをEclipseのTestNGで動作させる方法
私はこれらの2つを日食で一緒に機能させることはできません
このようにsurefireプラグインを設定できます
実行する$mvn test
と、すべてのリソースがコンパイルされてに移動され/target/test-classes
ます。これは正常に機能します。
しかし、実行$mvn clean
してからTestNGビューを使用していくつかのテストを実行すると、何もコンパイルされない/target/test-classes
ため、その前にテストフェーズを実行するか、何らかの方法でmaven-compiler-plugin:testCompile
テストリソースをコンパイルするという目標を採用する必要があります...
ただしmaven-compiler-plugin:2.3.2:testCompile
、構成を介してsurefireプラグインのようにセットアップされていませんtestResources
。テストソースコードをテストクラスにコンパイルするだけです
surefireプラグインを実行するかのようにtestNGを実行するにはどうすればよいですか?私はどういうわけかから生じる効果が必要です<testResources>
maven-2 - Surefire Mavenプラグインからguicified TestNGテストにパラメータを渡す方法は?
Maven + Surefire + TestNG + Guice (最新の安定版) を使用しています
Guice を実行する必要がある「大規模な」テストがあります。基本的に私はこのようにしています:
問題は、FooPort
にハードコードされていること5000
です。これは Maven プロパティであるため、最初の試みは次の Surefire 構成を使用することでした。
そして、その後、それは好きSystem.getProperty("fooPort")
です。残念ながら、ドキュメントによると、これは JUnit テスト専用です。少なくとも、テストのデバッグ中にこのシステム変数を確認できませんでした。forkMode
デフォルトのものと の両方を試しましnever
たが、何も変わりません。TestNG テストでは、次のようにすることをお勧めします。
しかし、今は Guice からこのプロパティを使用する必要があるため、何らかの方法で GuiceModule に指定する必要があります。次の方法で試してみました。
ただし、この方法も失敗でした。作成者は考慮されず、ファクトリのインスタンスを作成できませんでしたmodulefactories
。@Parameters
からデータを取得しようとする必要があるように見えITestContext context
ますが、データがそこにあるかどうか、または必要なことを行うためのより簡単な方法があるかどうかはわかりません。
返信ありがとうございます。
java - Classオブジェクトの他に、Perm Gen Space(sun 1.6 VM)に格納されているものは何ですか?
〜300のJUnitテストを実行し、Springコンテキストを使用しているときに、「java.lang.OutOfMemoryError:PermGenspace」が表示されます。それ以来、PermGenを食いつぶしているものを理解するのに苦労しています:
- 定常状態では、アプリは約90mのpermgenスペースを消費します
- 私はユニットテストのために-XX:MaxPermSize=256mを試しました-まだ不足しています
- 有効にする
-XX:+TraceClassLoading
と-XX:+TraceClassUnloading
、の前の最後の20〜30のテストを実行しているときに、追加の「読み込み」イベントが表示されませんOutOfMemoryError
。
後者は、Classオブジェクト以外の何かがPermGenを埋めていることを示唆しているようです。もしそうなら、それは何でしょうか?たとえば、クラスインスタンスがPermGenに保存される状況はありますか?
これが私のVM情報です:
関連している
FWIW、この投稿を引き起こした私の問題の根本はやや些細なことであることが判明しました:Maven SurefireプラグインがVMをフォークするときにMAVEN_OPTS(またはmvnを実行するVMインスタンス)からVM設定を継承すると仮定しました-それは(ブーイング)しません。プラグインの構成でargLineを使用して明示的に指定する必要があります。HTH。
maven-3 - Maven テストが完了しない
mvn テストを実行すると、Maven はすべてのテストを正常に実行し、待機無限ループに入ります。タスク マネージャーに Java プロセスが表示されます。Maven がこのエラー メッセージで戻る前に、それを強制終了する必要があります。
テストの実行: 3、失敗: 0、エラー: 0、スキップ: 0
どんな助けでも感謝します。
ありがとう
R
C:\Users\Raghuveer.Rao>jstack 7256
2011-06-17 15:24:55
Full thread dump Java HotSpot(TM) Client VM (20.0-b11 mixed mode, sharing):
"Thread-2" prio=6 tid=0x03ed3000 nid=0x14d0 waiting for monitor entry [0x04ddf00
0]
java.lang.Thread.State: BLOCKED (on object monitor)
at org.hsqldb.Session.close(Unknown Source)
- waiting to lock <0x23ba76f0> (a org.hsqldb.Session)
at org.hsqldb.SessionManager.closeAllSessions(Unknown Source)
- locked <0x292ce828> (a org.hsqldb.SessionManager)
at org.hsqldb.Database.close(Unknown Source)
at org.hsqldb.StatementCommand.getResult(Unknown Source)
at org.hsqldb.StatementCommand.execute(Unknown Source)
at org.hsqldb.Session.executeCompiledStatement(Unknown Source)
at org.hsqldb.Session.executeDirectStatement(Unknown Source)
at org.hsqldb.Session.execute(Unknown Source)
- locked <0x23b8efe8> (a org.hsqldb.Session)
at org.hsqldb.jdbc.JDBCStatement.fetchResult(Unknown Source)
at org.hsqldb.jdbc.JDBCStatement.execute(Unknown Source)
- locked <0x23b90f30> (a org.hsqldb.jdbc.JDBCStatement)
at org.springframework.jdbc.datasource.embedded.AbstractEmbeddedDatabase
Configurer.shutdown(AbstractEmbeddedDatabaseConfigurer.java:42)
at org.springframework.jdbc.datasource.embedded.EmbeddedDatabaseFactory.
shutdownDatabase(EmbeddedDatabaseFactory.java:184)
at org.springframework.jdbc.datasource.embedded.EmbeddedDatabaseFactoryB
ean.destroy(EmbeddedDatabaseFactoryBean.java:57)
at org.springframework.beans.factory.support.DisposableBeanAdapter.destr
oy(DisposableBeanAdapter.java:184)
at org.springframework.beans.factory.support.DefaultSingletonBeanRegistr
y.destroyBean(DefaultSingletonBeanRegistry.java:487)
at org.springframework.beans.factory.support.DefaultSingletonBeanRegistr
y.destroySingleton(DefaultSingletonBeanRegistry.java:463)
at org.springframework.beans.factory.support.DefaultSingletonBeanRegistr
y.destroySingletons(DefaultSingletonBeanRegistry.java:431)
- locked <0x2951f1c0> (a java.util.LinkedHashMap)
at org.springframework.context.support.AbstractApplicationContext.destro
yBeans(AbstractApplicationContext.java:1048)
at org.springframework.context.support.AbstractApplicationContext.doClos
e(AbstractApplicationContext.java:1022)
at org.springframework.context.support.AbstractApplicationContext$3.run(
AbstractApplicationContext.java:940)
"Thread-1" prio=6 tid=0x03ed2c00 nid=0x1fe0 waiting for monitor entry [0x04d8f00
0]
java.lang.Thread.State: BLOCKED (on object monitor)
at org.hsqldb.SessionManager.closeAllSessions(Unknown Source)
- waiting to lock <0x292ce828> (a org.hsqldb.SessionManager)
at org.hsqldb.Database.close(Unknown Source)
at org.hsqldb.StatementCommand.getResult(Unknown Source)
at org.hsqldb.StatementCommand.execute(Unknown Source)
at org.hsqldb.Session.executeCompiledStatement(Unknown Source)
at org.hsqldb.Session.executeDirectStatement(Unknown Source)
at org.hsqldb.Session.execute(Unknown Source)
- locked <0x23ba76f0> (a org.hsqldb.Session)
at org.hsqldb.jdbc.JDBCStatement.fetchResult(Unknown Source)
at org.hsqldb.jdbc.JDBCStatement.execute(Unknown Source)
- locked <0x23ba9568> (a org.hsqldb.jdbc.JDBCStatement)
at org.springframework.jdbc.datasource.embedded.AbstractEmbeddedDatabase
Configurer.shutdown(AbstractEmbeddedDatabaseConfigurer.java:42)
at org.springframework.jdbc.datasource.embedded.EmbeddedDatabaseFactory.
shutdownDatabase(EmbeddedDatabaseFactory.java:184)
at org.springframework.jdbc.datasource.embedded.EmbeddedDatabaseFactoryB
ean.destroy(EmbeddedDatabaseFactoryBean.java:57)
at org.springframework.beans.factory.support.DisposableBeanAdapter.destr
oy(DisposableBeanAdapter.java:184)
at org.springframework.beans.factory.support.DefaultSingletonBeanRegistr
y.destroyBean(DefaultSingletonBeanRegistry.java:487)
at org.springframework.beans.factory.support.DefaultSingletonBeanRegistr
y.destroySingleton(DefaultSingletonBeanRegistry.java:463)
at org.springframework.beans.factory.support.DefaultSingletonBeanRegistr
y.destroySingletons(DefaultSingletonBeanRegistry.java:431)
- locked <0x2910d510> (a java.util.LinkedHashMap)
at org.springframework.context.support.AbstractApplicationContext.destro
yBeans(AbstractApplicationContext.java:1048)
at org.springframework.context.support.AbstractApplicationContext.doClos
e(AbstractApplicationContext.java:1022)
at org.springframework.context.support.AbstractApplicationContext$3.run(
AbstractApplicationContext.java:940)
"Low Memory Detector" daemon prio=6 tid=0x01bdac00 nid=0x1eb0 runnable [0x000000
00]
java.lang.Thread.State: RUNNABLE
"C1 CompilerThread0" daemon prio=10 tid=0x01bc8400 nid=0x18e8 waiting on conditi
on [0x00000000]
java.lang.Thread.State: RUNNABLE
"Attach Listener" daemon prio=10 tid=0x01bc5400 nid=0x1ac0 waiting on condition
[0x00000000]
java.lang.Thread.State: RUNNABLE
"Signal Dispatcher" daemon prio=10 tid=0x01bc2400 nid=0x1fbc runnable [0x0000000
0]
java.lang.Thread.State: RUNNABLE
"Finalizer" daemon prio=8 tid=0x01bbb800 nid=0x1c00 in Object.wait() [0x03cdf000
]
java.lang.Thread.State: WAITING (on object monitor)
at java.lang.Object.wait(Native Method)
- waiting on <0x290702b0> (a java.lang.ref.ReferenceQueue$Lock)
at java.lang.ref.ReferenceQueue.remove(ReferenceQueue.java:118)
- locked <0x290702b0> (a java.lang.ref.ReferenceQueue$Lock)
at java.lang.ref.ReferenceQueue.remove(ReferenceQueue.java:134)
at java.lang.ref.Finalizer$FinalizerThread.run(Finalizer.java:159)
"Reference Handler" daemon prio=10 tid=0x01bba000 nid=0x810 in Object.wait() [0x
03c8f000]
java.lang.Thread.State: WAITING (on object monitor)
at java.lang.Object.wait(Native Method)
- waiting on <0x29070340> (a java.lang.ref.Reference$Lock)
at java.lang.Object.wait(Object.java:485)
at java.lang.ref.Reference$ReferenceHandler.run(Reference.java:116)
- locked <0x29070340> (a java.lang.ref.Reference$Lock)
"main" prio=6 tid=0x00e29800 nid=0x1e20 in Object.wait() [0x001bf000]
java.lang.Thread.State: WAITING (on object monitor)
at java.lang.Object.wait(Native Method)
- waiting on <0x294c4300> (a org.springframework.context.support.Abstrac
tApplicationContext$3)
at java.lang.Thread.join(Thread.java:1186)
- locked <0x294c4300> (a org.springframework.context.support.AbstractApp
licationContext$3)
at java.lang.Thread.join(Thread.java:1239)
at java.lang.ApplicationShutdownHooks.runHooks(ApplicationShutdownHooks.
java:79)
at java.lang.ApplicationShutdownHooks$1.run(ApplicationShutdownHooks.jav
a:24)
at java.lang.Shutdown.runHooks(Shutdown.java:79)
at java.lang.Shutdown.sequence(Shutdown.java:123)
at java.lang.Shutdown.exit(Shutdown.java:168)
- locked <0x38b53ef8> (a java.lang.Class for java.lang.Shutdown)
at java.lang.Runtime.exit(Runtime.java:90)
at java.lang.System.exit(System.java:904)
at org.apache.maven.surefire.booter.SurefireBooter.main(SurefireBooter.j
ava:986)
"VM Thread" prio=10 tid=0x01b7e400 nid=0x1e10 runnable
"VM Periodic Task Thread" prio=10 tid=0x01bec800 nid=0x1bac waiting on condition
JNI global references: 1776
Found one Java-level deadlock:
"Thread-2":
waiting to lock monitor 0x0467c1cc (object 0x23ba76f0, a org.hsqldb.Session),
which is held by "Thread-1"
"Thread-1":
waiting to lock monitor 0x01bbf56c (object 0x292ce828, a org.hsqldb.SessionMan
ager),
which is held by "Thread-2"
Java stack information for the threads listed above:
"Thread-2":
at org.hsqldb.Session.close(Unknown Source)
- waiting to lock <0x23ba76f0> (a org.hsqldb.Session)
at org.hsqldb.SessionManager.closeAllSessions(Unknown Source)
- locked <0x292ce828> (a org.hsqldb.SessionManager)
at org.hsqldb.Database.close(Unknown Source)
at org.hsqldb.StatementCommand.getResult(Unknown Source)
at org.hsqldb.StatementCommand.execute(Unknown Source)
at org.hsqldb.Session.executeCompiledStatement(Unknown Source)
at org.hsqldb.Session.executeDirectStatement(Unknown Source)
at org.hsqldb.Session.execute(Unknown Source)
- locked <0x23b8efe8> (a org.hsqldb.Session)
at org.hsqldb.jdbc.JDBCStatement.fetchResult(Unknown Source)
at org.hsqldb.jdbc.JDBCStatement.execute(Unknown Source)
- locked <0x23b90f30> (a org.hsqldb.jdbc.JDBCStatement)
at org.springframework.jdbc.datasource.embedded.AbstractEmbeddedDatabase
Configurer.shutdown(AbstractEmbeddedDatabaseConfigurer.java:42)
at org.springframework.jdbc.datasource.embedded.EmbeddedDatabaseFactory.
shutdownDatabase(EmbeddedDatabaseFactory.java:184)
at org.springframework.jdbc.datasource.embedded.EmbeddedDatabaseFactoryB
ean.destroy(EmbeddedDatabaseFactoryBean.java:57)
at org.springframework.beans.factory.support.DisposableBeanAdapter.destr
oy(DisposableBeanAdapter.java:184)
at org.springframework.beans.factory.support.DefaultSingletonBeanRegistr
y.destroyBean(DefaultSingletonBeanRegistry.java:487)
at org.springframework.beans.factory.support.DefaultSingletonBeanRegistr
y.destroySingleton(DefaultSingletonBeanRegistry.java:463)
at org.springframework.beans.factory.support.DefaultSingletonBeanRegistr
y.destroySingletons(DefaultSingletonBeanRegistry.java:431)
- locked <0x2951f1c0> (a java.util.LinkedHashMap)
at org.springframework.context.support.AbstractApplicationContext.destro
yBeans(AbstractApplicationContext.java:1048)
at org.springframework.context.support.AbstractApplicationContext.doClos
e(AbstractApplicationContext.java:1022)
at org.springframework.context.support.AbstractApplicationContext$3.run(
AbstractApplicationContext.java:940)
"Thread-1":
at org.hsqldb.SessionManager.closeAllSessions(Unknown Source)
- waiting to lock <0x292ce828> (a org.hsqldb.SessionManager)
at org.hsqldb.Database.close(Unknown Source)
at org.hsqldb.StatementCommand.getResult(Unknown Source)
at org.hsqldb.StatementCommand.execute(Unknown Source)
at org.hsqldb.Session.executeCompiledStatement(Unknown Source)
at org.hsqldb.Session.executeDirectStatement(Unknown Source)
at org.hsqldb.Session.execute(Unknown Source)
- locked <0x23ba76f0> (a org.hsqldb.Session)
at org.hsqldb.jdbc.JDBCStatement.fetchResult(Unknown Source)
at org.hsqldb.jdbc.JDBCStatement.execute(Unknown Source)
- locked <0x23ba9568> (a org.hsqldb.jdbc.JDBCStatement)
at org.springframework.jdbc.datasource.embedded.AbstractEmbeddedDatabase
Configurer.shutdown(AbstractEmbeddedDatabaseConfigurer.java:42)
at org.springframework.jdbc.datasource.embedded.EmbeddedDatabaseFactory.
shutdownDatabase(EmbeddedDatabaseFactory.java:184)
at org.springframework.jdbc.datasource.embedded.EmbeddedDatabaseFactoryB
ean.destroy(EmbeddedDatabaseFactoryBean.java:57)
at org.springframework.beans.factory.support.DisposableBeanAdapter.destr
oy(DisposableBeanAdapter.java:184)
at org.springframework.beans.factory.support.DefaultSingletonBeanRegistr
y.destroyBean(DefaultSingletonBeanRegistry.java:487)
at org.springframework.beans.factory.support.DefaultSingletonBeanRegistr
y.destroySingleton(DefaultSingletonBeanRegistry.java:463)
at org.springframework.beans.factory.support.DefaultSingletonBeanRegistr
y.destroySingletons(DefaultSingletonBeanRegistry.java:431)
- locked <0x2910d510> (a java.util.LinkedHashMap)
at org.springframework.context.support.AbstractApplicationContext.destro
yBeans(AbstractApplicationContext.java:1048)
at org.springframework.context.support.AbstractApplicationContext.doClos
e(AbstractApplicationContext.java:1022)
at org.springframework.context.support.AbstractApplicationContext$3.run(
AbstractApplicationContext.java:940)
Found 1 deadlock.
C:\Users\Raghuveer.Rao>
java - Maven テスト レポート形式
テストを実行すると Java/Groovy Maven プロジェクトでは、テスト レポートは に保存されtarget/surefire-reports
ます。実行されるテスト クラスごとに、そのクラスの出力.txt
を.xml
示すファイルが作成されます。
全体として、これは非常に役に立たない形式です。どのテストが失敗したか、およびそれらが生成した出力をすばやく確認する簡単な方法が提供されていないからです。Grails のテスト レポートに似たものが欲しいです。レポート形式をより使いやすいものに変更する簡単な方法はありますか?
理想的には、 を実行したときにこのレポートが生成されるようにしたいと考えていますmvn test
。つまり、レポートを生成するために実行する必要はありませんmvn site
。
maven - 単体テストは禁止するが、Maven での統合テストは許可する
SureFire プラグインを使用していくつかの単体テストを実行し、FailSafe プラグインを使用していくつかの統合テストを実行する Maven ビルドがあります。FailSafe プラグインのテストだけを実行する方法が必要です。
これはマルチモジュール ビルドであり、すべてのモジュールの pom を編集する必要がないため、pom にさまざまなプロファイルや何かを追加するのは良い解決策ではありません。
すべてのテストを停止するskip.tests
およびmaven.test.skip
と、フェールセーフ プラグインのみを停止する があります。skipTests
skipITs
それで、MavenのようなコマンドラインフラグはありskipITs
ますが、代わりに「onlyITs」の機能がありますか?
java - 確実なレポートの maven プラグインによって生成された HTML を変更できますか?
追加の HTML または JavaScript を含めるために、surefire-reports maven プラグを変更する方法はありますか?