某些背景信息:
我正在编写一个单元测试,需要Android上下文从assets /加载自定义字体,因此必须使用Espresso测试。 (右?)
我想使用@Parameters
构造来生成我提供的输入和预期输出的测试。问题是我需要@Parameters
- 注释方法中的Android上下文。
问题:
首先调用@Parameters
- 带注释的方法,甚至在@BeforeClass
和@ClassRule
之前。
我该如何解决这个问题?
答案 0 :(得分:0)
我已经解决了这个问题,所以想要分享解决方案以防其他人遇到同样的问题。
我基本上做的是延迟字体的初始化,直到上下文可用:
在@Parameters
方法中,我传递了字体的名称(字符串),并在@Test
方法中 - 当上下文可用时 - 我创建它们。
我的下一个时间问题是我同时需要的模拟还没有初始化,因为MockitoAnnotations.initMocks()
在我的@Setup
方法中调用,该方法在@Parameters
方法之后调用。但我只是省略了@Mock
并在我的测试方法中使用了oldskool Mockito.mock(Paint.class)
。