Я новичок в тестировании на Android-модуле и задавался вопросом, как я могу издеваться над контекстом, если я хочу, чтобы модуль тестировал getSomething() ниже.Android Unit Test: как насмехаться с контекстом Android
Большое спасибо!
public class Provider {
private final String packageName;
public Provider(Context context) {
packageName = context.getPackageName();
}
public Data getSomething() {
return get(packageName);
}
private Data get(String packageName) {
// return something here based on the packageName
}
}
Я попытался
@Before
public void setUp() throws Exception {
provider = new Provider(mock(Context.class));
}
@Test
public void DoSomethingTest() {
final Data data = provider.getSomething();
assertThat(data).isNotNull();
}
Но я получил ошибку ниже: java.lang.RuntimeException: Сто! на android.content.Context. (Context.java:4) в android.content.ContextWrapper. (ContextWrapper.java:5)
Это не единичный тест UI, а функциональный тест –