很确定这将是一件非常愚蠢的事情,但我已经盯着它看了有一段时间了,看不出我做错了什么。
搞乱了一些小 cucumber ,我在不同的类中有代码(它也调用另一个类) - 我试图将其分解为最简单的示例:
在我的@Before 我有这个:
public void setUp() {
whoAmI= new MyNameClass();
}
然后我按以下方式使用它:
String myName2 = new String("My name is " + whoAmI.returnJoe());
System.out.println(myName2);
在 MyNameClass 中,我有以下内容:
public static String returnJoe() {
System.out.println(steps.helloJoe() + " ");
return "Joe";
}
当我运行这个时 - 没有问题。一切都很好。
然后我将 returnJoe 方法更改为:
static WebDriverSteps steps;
public static String returnJoe() {
return "Joe" + steps.helloJoe();
System.out.println(steps.helloJoe() + " ");
return "Joe";
}
WebDriverSteps 具有以下内容:
public class WebDriverSteps {
WebDriverSteps steps;
public String helloJoe() {
return " what do you know?";
}
现在我得到一个空指针。我很确定我的问题是由构造函数引起的,但有一个愚蠢的时刻,无法弄清楚。
有人看到这个问题吗?
最佳答案
在上面的代码中,您忘记调用 WebDriverSteps 类的构造函数。这使得对象步骤指向空。因此,当您调用steps.helloJoe()时,它会返回空指针异常。 代码应该是 WebDriverSteps 步骤 = new WebDriverSteps();
关于java - NullPointerException - 无法看到我的问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44562893/