Tengo una simple prueba JUnit, donde puedo comprobar si una imagen es nulo o no. existe la imagen y se encuentra dentro de la carpeta mis activos en un paquete de interfaz de usuario.
Aquí está la prueba:
@Test
public void testCreate() throws Exception {
assertTrue(Gdx.files.internal("ui/back.png").exists());
}
Esta es la excepción consigo:
java.lang.NullPointerException
at com.fantasticfeasts.game.Teamkofigeditor.FantasticFeastsGameTest.testCreate(FantasticFeastsGameTest.java:35)
¿Cómo es eso posible cuando existe la imagen y está dentro de la carpeta ui?
En su ejemplo Gdx.files es nulo por lo que no proviene de la NPE.
Su problema es que Gdx. herramientas sólo están disponibles después de haber iniciado una aplicación como LwjglApplication o HeadlessApplication de libgdx.
Porque en primer lugar después de iniciar una instancia de solicitud, libgdx cargará las librerías y initialize: Gdx.app, Gdx.files, Gdx.graphics, Gdx.audio, Gdx.gl etc.
Para probar el proyecto libgdx whit características GDX leyeron: http://manabreak.eu/java/2016/10/21/unittesting-libgdx.html
Aquí está una prueba Ejemplo de Unidad con Gdx.files: https://github.com/TomGrill/gdx-testing/tree/master/tests/src/de/tomgrill/gdxtesting