Tôi đang cố gắng thực hiện kiểm tra đơn vị cho ứng dụng android và tôi cần nhận chuỗi từ tài nguyên res.string. Lớp mà tôi muốn kiểm tra là một lớp POJO. Tôi đang làm các ứng dụng trong hai ngôn ngữ, do điều này, tôi cần phải nhận được một chuỗi từ tài nguyên. Vấn đề là tôi không thể có được bối cảnh hoặc hoạt động, có thể không? Tôi biết rằng với thử nghiệm Instrumentation tôi có thể làm điều đó, nhưng tôi cần phải kiểm tra một số chức năng (kiểm tra hộp màu trắng) trước khi làm bài kiểm tra thiết bị đo đạc (thử nghiệm hộp đen). Đây là chức năng mà tôi có để kiểm tra:Kiểm tra đơn vị Android, getString từ tài nguyên
public void setDiaByText(String textView) {
getll_diaSeleccionado().clear();
if (textView.contains(context.getResources().getString(R.string.sInicialLunes))) {
getll_diaSeleccionado().add(0);
getIsSelectedArray()[0] = true;
getI_idiaSeleccionado()[0] =1;
} else
{
getIsSelectedArray()[0] = false;
getI_idiaSeleccionado()[0] =0;
}
}
Và đây là bài kiểm tra:
@Test
public void setDiaByTextView() {
String texto = "L,M,X,J,V,S,D";
alertaPOJO.setDiaByText(texto);
assertEquals(alertaPOJO.getIsSelectedArray()[0], true);
assertEquals(alertaPOJO.getI_idiaSeleccionado()[0], 1);
}
Nó sụp đổ khi cố gắng để làm context.getResources().getString(R.string.sInicialLunes))
Nếu tôi đặt 'Môn' thay vì context.getResources().getString(R.string.sInicialLunes))
hoặc 'L' nó hoạt động hoàn hảo như vậy, có thể có được bối cảnh hoặc hoạt động để truy cập vào thư mục tài nguyên?
Tôi đang thử nghiệm với Mockito và chức năng thiết lập là:
@Before
public void setUp() throws Exception {
MockitoAnnotations.initMocks(this);
mContext = Mockito.mock(Alerta.class);
Mockito.when(mContext.getApplicationContext()).thenReturn(mContext);
alertaPOJO = new AlertaPOJO();
}
Cảm ơn
Cảm ơn bạn @Sherlock, tôi đoán rằng đó là câu trả lời đúng như tôi đã đọc nhưng tôi cần một xác nhận do tôi là người mới bắt đầu trong Android. – Tachenko