2

Thorntail から Quarkus に移行しています。私のテストでは、テストに必要なものだけを配置する @deployment メソッドを作成していました。特に、 @Startup アノテーションを持つ Class を配置しませんでした (テストしたくなかったため...)。QUARKUS に移行したとき、 @deployment 静的メソッドを抑制し、テストを起動すると @Startup が ... 開始され、多くの悪いことが起こり、テストしたいものをテストできなくなります (まあ、クラッシュするため)利用できないサービスに接続しようとします)。

問題は次のとおりです: quarkusTest でテストを起動するときに、一部のパッケージまたはクラスを除外する方法はありますか?

4

1 に答える 1

0

私は最終的にクラスを作成しました:

@ApplicationScoped
public class ApplicationLifeCycle {
private final Logger log = Logger.getLogger(getClass());

@Inject
Startup startup;

void onStart(@Observes StartupEvent ev) {
    log.info("The application is starting with profile " + ProfileManager.getActiveProfile());
    if (!ProfileManager.getActiveProfile().equalsIgnoreCase("test")) {
        startup.getModel();
    }
}

void onStop(@Observes ShutdownEvent ev) {
    log.info("The application is stopping...");
    startup.stopMQ();
}
}

少し醜いですね。それを行うより良い方法はありますか?

于 2020-09-23T12:50:13.457 に答える