2015-07-06 102 views
1

的JUnit測試情況下,我有一個類如下非公共類

package a.b 
public class Public_Class{ 
    public void add(){ 
    //logic 
    } 
} 
class Non_Public_Class{ 
    public void subt(){ 
    //any logic 
    } 
} 
package a.c 

現在我要讓方法subt()的測試用例「Non_Public_Class」。

我該如何訪問非公開課,而我的測試用例不在同一個包中?

回答

0

我該如何訪問非公共類,而我的測試用例不在同一個包中。

改變這一點,基本上。這是很常見的做法(至少就我所見)將生產和測試類保留在不同的源代碼層次結構中,但仍將它們放入相同的Java包中 - 這樣就可以輕鬆測試包訪問類。

(我肯定還是他們的輸出分割成不同的源層次,不同類的目錄,也讓你不必與你的產品代碼封裝測試代碼。)

1

你應該遵循現在(或多或少)的目錄結構標準,像maven suggest這樣的工具。含義:

你可以有

  • 的src/main/java的...這裏去你所有的生產代碼包
  • 的src/test/java下...這裏去所有的測試包(然後可以有相同名稱爲您的生產包)

這允許你寫單元測試「包保護」的東西。

相關問題