2017-01-31 96 views
0

一些背景:的Android咖啡測試與@參數需要上下文

我正在寫一個單元測試,需要Android的背景下加載從資產/自定義字體,所以必須使用咖啡測試。 (對吧?)

我想使用@Parameters構造來生成我提供的輸入和預期輸出的測試。事情是,我需要安裝在@Parameters-annotated方法中的Android上下文。

問題:

@Parameters -annotated方法被稱爲第一,甚至@BeforeClass@ClassRule之前。

我該如何解決這個問題?

回答

0

我已經解決了這個問題,所以想分享解決方案,以防其他人遇到相同的情況。

我基本上做的是延遲字樣的初始化,直到上下文可用: 在@Parameters方法我通過字體的名稱(絃樂),並在@Test方法 - 當上下文是服務現有我創建它們。

我的下一個時機的問題是,一個模擬我需要在同一時間尚未初始化,因爲MockitoAnnotations.initMocks()叫我@Setup方法,它是@Parameters方法後調用。但我簡單地省略了@Mock,並在我的測試方法中使用了oldskool Mockito.mock(Paint.class)