En una prueba de unidad necesito importar un archivo csv. Esta se encuentra en la carpeta de recursos, es decir src/test/recursos¿Cómo obtener un archivo de recursos de prueba?
Respuesta
Probablemente sólo útil si tiene el archivo esté disponible, por ejemplo, al hacer las pruebas unitarias - esto no va a cargarlo de un frasco que yo sepa.
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
import org.apache.commons.io.FileUtils;
...
final File dic = FileUtils.getFile("src","test", "resources", "csvFile");
desde Apache Commons IO 2.1.
Se puede acceder a los recursos de pruebas usando cargador de clases del hilo actual:
InputStream stream = Thread.currentThread().getContextClassLoader()
.getResourceAsStream("YOURFILE.CSV");
pero quiero un java.io.File y no un InputStream. – simpatico
luego use getClass(). GetResource ("/ src/test/resources/YourFile.csv"); http://download.oracle.com/javase/6/docs/api/java/lang/Class.html – Sean
por lo tanto, FileUtils.toFile (Thread.currentThread(). getClass(). getResource ("/ src/test/resources/YourFile.csv ")); – simpatico
de guayaba
import com.google.common.io.Resources;
URL url = Resources.getResource("YourFile.csv");
como @simpatico quiere un 'java.io.File', esta respuesta puede continuar con:' File csvFile = new File (url.toURI()); ' – Abdull
Esta solución no necesita de lib. 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 sólo tiene que 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");
¿dónde puedo obtener la clase FileSystems? –
@ToKra java.nio.file.FileSystems – rjdkolb
// assuming a file src/test/resources/some-file.csv exists:
import java.io.InputStream;
// ...
InputStream is = getClass().getClassLoader().getResourceAsStream("some-file.csv");
- 1. ¿Cómo acceder a los recursos de prueba?
- 2. Obtener DisplayName del archivo de recursos
- 3. C# Recursos de prueba de unidades
- 4. cómo incrustar un archivo xml en un archivo de recursos
- 5. Forma fácil de obtener un archivo de prueba en JUnit
- 6. Acceso a recursos en un proyecto de prueba de Android
- 7. Cómo usar los recursos de maven también como recursos de prueba
- 8. ¿Cómo leo un archivo de recursos de un archivo jar de Java?
- 9. Actualice dinámicamente un archivo de recursos
- 10. Ruta a un archivo de recursos incrustado
- 11. Leer recursos de un archivo DLL
- 12. Incluye el archivo de recursos para la prueba unitaria en el proyecto C#
- 13. ¿Cómo puedo obtener anotaciones de recursos en un jersey ContainerResponseFilter
- 14. Prueba de recursos anidados con RSpec
- 15. ¿Cómo obtener un valor del archivo de recursos utilizando su clave
- 16. Obtener todos los nombres de archivo que comienzan con un prefijo de la carpeta de recursos
- 17. ¿Cómo copiar el archivo de los recursos?
- 18. cómo hacer que maven utilice los recursos de prueba
- 19. Cómo obtener un objeto de secuencia de un archivo de recursos (Consola de aplicación/Proyecto de servicio de Windows)
- 20. ¿Convertir un archivo de recursos de Visual Studio a un archivo de texto?
- 21. Obtener recursos de otra aplicación
- 22. ¿Cómo obtener URI de un archivo de activos?
- 23. ¿Cómo obtener un puntero ARCHIVO desde un descriptor de archivo?
- 24. Diferencia entre "archivo de prueba" y "archivo de prueba -f archivo"
- 25. Cómo obtener un archivo Makefile de qmake
- 26. ¿Cómo obtener un nombre de archivo temporal?
- 27. archivo de recursos en PyQt4
- 28. Android: Cómo obtener una identificación de recursos de un recurso de Android
- 29. QT: setStyleSheet de un archivo QSS de recursos?
- 30. Lectura de un archivo XML a partir de los recursos
lo que realmente estaba buscando era la abstracción de proporcionar la ruta al archivo, como en getResourceAsStream. De lo contrario, el nuevo archivo/getFile es más directo – simpatico
y funciona también con "YourFile.csv". – simpatico
url es nulo para mí con esa declaración – hithwen