2017-06-15 22 views
0

これはかなり愚かなものになるでしょうが、私はこれをしばらく見続けてきました。NullPointerException - 私の問題を見ることができません

ガーキンのビットとふざけると私は(も別のクラスを呼び出す)異なるクラスのコードがある - 私は最も単純な例にこれを打破しようとしました:私は私の@Beforeで

をこの:

public void setUp() { 
    whoAmI= new MyNameClass(); 
} 

私は、次のようにこれを使用する:私は、次のを持ってMyNameClassで

String myName2 = new String("My name is " + whoAmI.returnJoe()); 

    System.out.println(myName2); 

を:

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?"; 
    } 

私はNULLポインタを取得します。私はかなり私の問題はコンストラクタによって引き起こされているが、愚かな瞬間を持っているとそれを把握することはできません。

誰でも問題を確認できますか?

+2

stacktraceは、問題がどこにあるかを教えてくれます。 – matoni

+0

'returnJoe'では' steps'オブジェクトがnullの可能性があります。 –

+1

完全なトレースバックメッセージと例外メッセージを追加できますか? –

答えて

1

上記のコードでは、WebDriverStepsクラスのコンストラクターを呼び出すことを忘れてしまいました。これは、オブジェクトのステップがnullを指すようにします。したがって、steps.helloJoe()を呼び出すときには、Nullポインターの例外が返されます。 コードは だったはずです。WebDriverSteps steps = new WebDriverSteps();

+0

多くのありがとうございます。それが何か簡単だと分かっていました。 – Joseph

関連する問題