2

我要从 Thorntail 搬到 Quarkus。在我的测试中,我曾经创建一个 @deployment 方法,在该方法中我只放置了测试所需的内容。特别是我没有放置一个具有 @Startup 注释的类(因为我不想测试它......)。当我搬到 QUARKUS 时,我抑制了 de @deployment 静态方法,然后当我启动测试时,@Startup is ... 启动并且发生了很多不好的事情,阻止我测试我想要测试的东西(嗯,它崩溃是因为它尝试连接到不可用的服务)。

所以问题是:有没有办法在使用 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 回答