現在、TestNGで起動したいmongoDBに対していくつかのテストを実行しようとしています。TestNGがテストを実行する前に起動し、その後に停止する
スイートべき:
-
のMongoDBインスタンス(可能な埋め込み又は別のプロセス)
- ラン一つまたは
- (おそらくは異なるクラスまたはパッケージに)より多くのテストのMongoDBインスタンスを停止を開始
<suite name="EmbeddedMongoSmokeTest" verbose="1">
<parameter name="mongoPort" value="27018"/>
<test name="EmbeddedMongoSmokeTest">
<classes>
<class name="com.frequentis.ps.platform.tests.persistence.EmbeddedMongoControllerTest">
<methods>
<include name="startEmbeddedMongoDb" />
</methods>
</class>
<class name="com.frequentis.ps.platform.tests.persistence.MongoDBSmokeTest"/>
<class name="com.frequentis.ps.platform.tests.persistence.EmbeddedMongoControllerTest">
<methods>
<include name="stopEmbeddedMongoDb" />
</methods>
</class>
</classes>
</test>
0123:
@Test(groups = { "persistence", "mongodb"})
public class EmbeddedMongoControllerTest {
private static EmbeddedMongoController mongoController;
@Test
@Parameters({ "mongoHost", "mongoPort"})
public void startEmbeddedMongoDb(@Optional("localhost") String host, @Optional("27017") int port) {
mongoController = new EmbeddedMongoController();
mongoController.start(host, port);
}
@Test
public void stopEmbeddedMongoDb() {
mongoController.stop();
}
}
私は「で見つかりませ空きノード:[DynamicGraph」を言わないのTestNGランナーから例外を取得し、私はこれは私が単一のテストセクションに二度同じクラスを使用しているという事実から来ていると思います。
TestNGスイートXMLを構造化したり、クリーンな方法でタスクを達成するためにどのようなTestNG機能を使用しなければなりませんか?
なぜ、シングルトンを使用するだけではなく、怠惰な初期化も必要ですか? –