java - studio - manual de programacion android pdf
¿Cómo obtener un archivo de recursos de prueba? (6)
En una prueba de unidad, necesito importar un archivo csv. Esto se encuentra en la carpeta de recursos, es decir, src / test / resources
Esta solución no necesita lib''s. Primero crea una clase util para acceder a los archivos de recursos.
public class TestUtil(Class classObj, String resourceName) throws IOException{
URL resourceUrl = classObj.getResource(FileSystems.getDefault().getSeparator()+resourceName);
assertNotNull(resourceUrl);
return new File(resourceUrl.getFile());
}
Ahora solo necesita llamar al método con la clase de su UnitTest y el nombre de su archivo en la carpeta ressource.
File cvsTestFile = TestUtil.GetDocFromResource(getClass(), "MyTestFile.cvs");
Probablemente solo sea útil si tiene el archivo disponible, por ejemplo, al hacer pruebas unitarias; esto no lo cargará de un jar AFAIK.
URL url = Thread.currentThread().getContextClassLoader().getResource("mypackage/YourFile.csv");
File file = new File(url.getPath());
// where the file is in the classpath eg. <project>/src/test/resources/mypackage/YourFile.csv
Puede acceder a los recursos de prueba utilizando el cargador de clases del hilo actual:
InputStream stream = Thread.currentThread().getContextClassLoader()
.getResourceAsStream("YOURFILE.CSV");
con guayaba
import com.google.common.io.Resources;
URL url = Resources.getResource("YourFile.csv");
// assuming a file src/test/resources/some-file.csv exists:
import java.io.InputStream;
// ...
InputStream is = getClass().getClassLoader().getResourceAsStream("some-file.csv");
import org.apache.commons.io.FileUtils;
...
final File dic = FileUtils.getFile("src","test", "resources", "csvFile");
desde Apache Commons IO 2.1 .