无法初始化Junit的textarea

无法初始化Junit的textarea,junit,javafx,textarea,Junit,Javafx,Textarea,大家好,堆垛工人们 我正在为一个向JavaFXTextArea添加文本的方法编写junit测试——这个textarea需要为测试初始化。在普通的课堂上,我会使用 @FXML private TextArea myTextArea; 对于textarea-我如何为测试初始化它-我上面显示的这种方式不起作用,并且 TextArea myTextArea = new TextArea(); 在设置中也不起作用。在myTextArea中设置字符串的待测试方法的行中,我得到了两个的NullPointe

大家好,堆垛工人们

我正在为一个向JavaFXTextArea添加文本的方法编写junit测试——这个textarea需要为测试初始化。在普通的课堂上,我会使用

@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();在我的代码中,它仍然不起作用。