0

私はJavaの初心者で、以下の問題に直面しています。私は次のコードを持っています:

public class ReadExcel {    
Config conf = new Config();
String filePath = conf.getInputfilePath();

@Test
public void readFullXL() {      
try {
FileInputStream FSRead = new FileInputStream(filePath);

この変数 'filePath' を関数の外で宣言しました。グローバル変数として使用したい。ただし、readFullXL() 内では、変数 'filePath' の値を取得できず、null ポインター例外が発生します。

誰かが提案できますか?Junit ファイルでグローバル変数を宣言する方法。

4

2 に答える 2

0

お返事と時間をありがとうございました。config と ReadExcel ファイルの間のインターフェイスを作成することで機能しました。また、構成ファイルから不要な Junit テスト アノテーションを削除しました。

ありがとう、アシュヴィーニ

于 2013-09-07T09:33:08.297 に答える
0

編集: もちろん、まずgetInputfilePath()メソッドが null を返さないことを確認する必要があります。

さらに: UnitTesting ( JUnit - チュートリアル) に関する情報を読んでおくことをお勧めします。

1 つのテストだけの場合は、そのテスト内で必要なクラスをインスタンス化できます。

@Test
public void readFullXL() {      
    Config conf = new Config();
    FileInputStream FSRead = new FileInputStream(conf.getInputfilePath());
    //...

}

@Before同じフィクスチャに依存する複数のテストがある場合は、アノテーションを使用して setup メソッドを実装できます。setup メソッドは、すべてのテスト (@Test注釈) メソッドの前に呼び出されます。

class ReadExcel {    
Config conf; 

@Before
public void setUp() {
    conf = new Config();
}

@Test
public void readFullXL() {      
    //...
    FileInputStream FSRead = new FileInputStream(conf.getInputfilePath());
    // Run your test

}
}
于 2013-08-29T12:16:15.170 に答える