相关疑难解决方法(0)

如何在 Spring Boot 测试中设置“headless”属性?

我正在使用带有 JavaFX 的 Spring Boot 进行测试(基于一些解释这一点的优秀 YouTube 视频)。

为了使它与TestFX 一起工作,我需要创建这样的上下文:

@Override
public void init() throws Exception {
    SpringApplicationBuilder builder = new SpringApplicationBuilder(MyJavaFXApplication.class);
    builder.headless(false); // Needed for TestFX
    context = builder.run(getParameters().getRaw().stream().toArray(String[]::new));

    FXMLLoader loader = new FXMLLoader(getClass().getResource("main.fxml"));
    loader.setControllerFactory(context::getBean);
    rootNode = loader.load();
}
Run Code Online (Sandbox Code Playgroud)

我现在想测试这个 JavaFX 应用程序,为此我使用:

@RunWith(SpringRunner.class)
@SpringBootTest(webEnvironment = SpringBootTest.WebEnvironment.NONE)
public class MyJavaFXApplicationUITest extends TestFXBase {

    @MockBean
    private MachineService machineService;

    @Test
    public void test() throws InterruptedException {
        WaitForAsyncUtils.waitForFxEvents();
        verifyThat("#statusText", (Text text ) -> text.getText().equals("Machine stopped"));
        clickOn("#startMachineButton");
        verifyThat("#startMachineButton", …
Run Code Online (Sandbox Code Playgroud)

java javafx spring-test spring-boot testfx

6
推荐指数
2
解决办法
2888
查看次数

Spring Boot java中线程“main”java.awt.HeadlessException中的异常

我尝试使用intellij运行netbeans IDE创建的JFrameForm,我从netbeans复制源代码并将其粘贴到新的java类中,并在主函数中创建对象并设置jframe包含的类的可见性并运行它,它给出了以下错误

2019-09-21 17:36:31.363Exception in thread "main" java.awt.HeadlessException
at java.desktop/java.awt.GraphicsEnvironment.checkHeadless(GraphicsEnvironment.java:208)
INFO    at java.desktop/java.awt.Window.<init>(Window.java:548)
4744    at java.desktop/java.awt.Frame.<init>(Frame.java:423)
---     at java.desktop/java.awt.Frame.<init>(Frame.java:388)
[       Thread-1]   at java.desktop/javax.swing.JFrame.<init>(JFrame.java:180)
j.LocalContainerEntityManagerFactoryBean    at com.sunTravel.frontend.uiComponents.MainFrame.<init>    
(MainFrame.java:19)
:   at com.sunTravel.frontend.FrontendApplication.main(FrontendApplication.java:12)
Closing JPA EntityManagerFactory for persistence unit 'default'
2019-09-21 17:36:31.364  INFO 4744 --- [       Thread-1] .SchemaDropperImpl$DelayedDropActionImpl :         
HHH000477: Starting delayed evictData of schema as part of SessionFactory shut-down'
2019-09-21 17:36:31.367  INFO 4744 --- [       Thread-1] com.zaxxer.hikari.HikariDataSource       :     
HikariPool-1 - Shutdown initiated...
2019-09-21 17:36:31.370  INFO 4744 --- [       Thread-1] com.zaxxer.hikari.HikariDataSource       : 
HikariPool-1 …
Run Code Online (Sandbox Code Playgroud)

java swing spring-boot

5
推荐指数
1
解决办法
2万
查看次数

标签 统计

java ×2

spring-boot ×2

javafx ×1

spring-test ×1

swing ×1

testfx ×1