Quarkus单元测试排除类

问题描述

我正从thorntail移到Quarkus。 在测试中,我曾经创建一个@deployment方法,其中只放置测试所需的内容。特别是,我没有在类中添加@Startup注释(因为我不想对此进行测试...)。 当我移到QUARKUS时,我取消使用de @deployment静态方法,然后在启动测试时@Startup已启动... ...发生了很多坏事,这些事情阻止了我测试要测试的对象(嗯,它崩溃是因为它会尝试连接到不可用的服务。

所以问题是:用quarkusTest启动测试时,是否可以排除某些包或类?

解决方法

我终于创建了一个类:

@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();
}
}

不是很丑吗? 有更好的方法吗?

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...