Nvig8tr:
Tengo un método que toma un InputStream como un parámetro. Los extractos método Propiedades desde el InputStream y vuelve la propiedad "versión". Esta propiedad se mantiene la versión de la aplicación.
public String getVersion(InputStream inputStream) throws IOException {
Properties properties = new Properties();
properties.load(inputStream);
String version = properties.getProperty("version");
return version;
}
Para propósitos de prueba, me gustaría crear un objeto Properties, establecer algunas propiedades y, a continuación, cargar las propiedades en un InputStream. Por último, el InputStream se pasa al método que se está probando.
@Test
public void testGetAppVersion() {
InputStream inputStream = null;
Properties prop = new Properties();
prop.setProperty("version", "1.0.0.test");
// Load properties into InputStream
}
¿Cómo iba a hacerlo?
ernest_k:
Se puede utilizar el store
método para escribir las propiedades a un arroyo.
Aquí hay un ejemplo que array de bytes usos corrientes:
Properties prop = new Properties();
prop.put("version", "1.0.0.test");
ByteArrayOutputStream os = new ByteArrayOutputStream();
props.store(os, "comments");
InputStream s = new ByteArrayInputStream(os.toByteArray());
String version = getVersion(s);
Pero creo que la siguiente manera es más sencillo (flujo de entrada de la cadena de contenido de archivos ):
InputStream is =
new ByteArrayInputStream("version=1.0.0.test\n".getBytes());