2014-12-10 4 views
1

Я тестирую два действия: первый завершает свои испытания и отделки, но первое испытание во втором ДТП со следующей ошибкой:тест JUnit авария в нАлАдкЕ

Test failed to run to completion. Reason: 'Instrumentation run failed due to 'java.lang.NullPointerException''. Check device logcat for details 

Я понял линию activity = getActivity(); в тестовом классе дает нуль и, таким образом, сбой теста. Вот соответствующая часть тестового класса. Почему это происходит, и как я могу это исправить?

public ResultActivityTest() { 
    super(ResultActivity.class); 
} 

@Override 
protected void setUp() throws Exception { 
    super.setUp(); 

    activity = getActivity(); 
    displayoperands = (TextView) activity.findViewById(R.id.result_textview); 
    resultdisplay = (TextView) activity.findViewById(R.id.textView2); 
    canvas = (SurfaceView) activity.findViewById(R.id.surfaceview); 
    layoutRoot = (RelativeLayout) activity.findViewById(R.id.rellay); 
    back = (Button) activity.findViewById(R.id.back_button); 

    activity.setImag1(2.0); 
    activity.setImag2(2.0); 
    activity.setReal1(2.0); 
    activity.setReal2(2.0); 
    activity.setOperation("A"); 
} 
+0

Возможный дубликат [Что такое Исключение нулевого указателя и как его исправить?] (Http://stackoverflow.com/questions/218384/what-is-a-null-pointer-exception-and-how -do-I-Fix-It) – Kenster

ответ

2

Я понял это после небольшого вмешательства в деятельность и некоторых проб и ошибок. Проблема заключалась в том, что в onCreate активности требовался пакет с переменными из вызывающей активности. Это null, продолжало сбой активности, которую тест пытался запустить, не передавая никаких переменных. Решение состоит в том, чтобы инициализировать требуемые переменные значением (фиктивным/дефолтом), которое работает с активностью.