使用@Parameters的Android Espresso测试需要上下文

时间:2017-01-31 16:11:20

标签: java android junit android-espresso

某些背景信息:

我正在编写一个单元测试,需要Android上下文从assets /加载自定义字体,因此必须使用Espresso测试。 (右?)

我想使用@Parameters构造来生成我提供的输入和预期输出的测试。问题是我需要@Parameters - 注释方法中的Android上下文。

问题:

首先调用@Parameters - 带注释的方法,甚至在@BeforeClass@ClassRule之前。

我该如何解决这个问题?

1 个答案:

答案 0 :(得分:0)

我已经解决了这个问题,所以想要分享解决方案以防其他人遇到同样的问题。

我基本上做的是延迟字体的初始化,直到上下文可用: 在@Parameters方法中,我传递了字体的名称(字符串),并在@Test方法中 - 当上下文可用时 - 我创建它们。

我的下一个时间问题是我同时需要的模拟还没有初始化,因为MockitoAnnotations.initMocks()在我的@Setup方法中调用,该方法在@Parameters方法之后调用。但我只是省略了@Mock并在我的测试方法中使用了oldskool Mockito.mock(Paint.class)