Я пытаюсь протестировать метод сохранения во встроенную память на Android, но все мои тесты для него появляются как «Тест по ошибке», когда я упаковываю приложение с Maven , когда я проверяю отдельные результаты теста, он говорит, что в классе было java.lang.NullPointerException
. Из того, что я прочитал, это может быть связано с context
, с которым я проходил, но я пробовал несколько разных методов генерации контекста и до сих пор ничего не было сделано, любые советы о том, как заставить их работать, будут очень признательны. Код для теста:java.lang.NullPointerException Ошибка в тестах Robolectric
@RunWith(RobolectricTestRunner.class)
public class SaveSystemTest {
SaveSystem testSS;
Route testRoute;
@Before
public void setup()
{
testRoute = new Route(new LatLng(54.6279022,-5.9146021), new LatLng(54.6279022,-5.9146021),"testRoute");
testSS = new SaveSystem("testSave",Robolectric.application.getApplicationContext());
}
@org.junit.Test
public void saveTest()
{
boolean b = testSS.save(testRoute);
assertTrue(b);
}
Код для saveSystem.save (первоначально не имеют попробовать поймать, но я добавил, что пытается получить эту работу):
public boolean save(Route file)
{
routeList.add(file);
try
{
if(saveToMemory())
return true;
else
return false;
}catch (Exception e)
{
Log.d("SaveSystem", "Exception: " + e);
return false;
}
}
Код для saveSystem .saveToMemory:
private boolean saveToMemory()
{
try
{
FileOutputStream fos = context.getApplicationContext().openFileOutput(saveFileName,Context.MODE_PRIVATE);
ObjectOutputStream os = new ObjectOutputStream(fos);
os.writeObject(routeList);
os.close();
return true;
}catch (Exception e)
{
Log.d("SaveSystem", "Exception: " + e);
return false;
}
}
Вы должны включить трассировку стека исключений и указать строку кода, в которой генерируется исключение. –
Я относительно новичок в разработке Android, как бы получить трассировку стека исключений с помощью maven? – awriis
это зависит от вашей конкретной ситуации. Если вы используете плагин surefire, проверьте каталог 'target/surefire-reports' для подробных отчетов о тестовых исполнениях. –