我正在使用带有 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) 我尝试使用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)