无法初始化Junit的textarea
大家好,堆垛工人们 我正在为一个向JavaFXTextArea添加文本的方法编写junit测试——这个textarea需要为测试初始化。在普通的课堂上,我会使用无法初始化Junit的textarea,junit,javafx,textarea,Junit,Javafx,Textarea,大家好,堆垛工人们 我正在为一个向JavaFXTextArea添加文本的方法编写junit测试——这个textarea需要为测试初始化。在普通的课堂上,我会使用 @FXML private TextArea myTextArea; 对于textarea-我如何为测试初始化它-我上面显示的这种方式不起作用,并且 TextArea myTextArea = new TextArea(); 在设置中也不起作用。在myTextArea中设置字符串的待测试方法的行中,我得到了两个的NullPointe
@FXML
private TextArea myTextArea;
对于textarea-我如何为测试初始化它-我上面显示的这种方式不起作用,并且
TextArea myTextArea = new TextArea();
在设置中也不起作用。在myTextArea中设置字符串的待测试方法的行中,我得到了两个的NullPointerException。有人有什么想法吗?我可能遗漏了一些明显的东西
MyClassTest.java
@Test
public void testDisplay {
MyClass myClass = new myClass();
myClass.display();
}
MyClass.java
public void display() {
myTextArea.setText("The result of this is ....");
}
- MyClass是包含TextArea的fxml的控制器
@ClassRule
public JavaFXThreadingRule javafxRule = new JavaFXThreadingRule();
在我的代码中-但它仍然不起作用
提前感谢不过,我不太熟悉JavaFX中的JUnit测试,您不能这样做的最可能的原因是因为您的测试用例需要在JavaFX应用程序线程上,并且您的控制器需要加载FXML和其中写入的控件,在获得对
myTextArea
的引用之前,这就是为什么会得到NullPointerException
有一些非常好的库,可以用来为JavaFX编写JUnit测试用例
- -用于Swing和JavaFX
还有一个关于在JavaFX中编写测试用例的讨论欢迎来到Stackoverflow…需要查看更多代码!谢谢@Nilesh-我添加了更多代码-如果您还需要更多,请告诉我是
MyClass
包含TextArea
的fxml控制器?@ItachiUchiha是的,MyClass是包含TextArea的fxml控制器谢谢ItachiUchiha我会看看这些。我应该在前面提到,我使用@ClassRule public JavaFXThreadingRule javafxRule=new JavaFXThreadingRule();在我的代码中,它仍然不起作用。