unit testing - logo - prueba de junit debe usar main/resources
mockito (2)
Tengo un problema con las pruebas de Maven y JUnit.
Tengo algunos archivos en src / main / resources y cuando ejecuto las pruebas de Junit quiero estos archivos. Solo un archivo de prueba específico con configuraciones ligeramente diferentes debe anular un archivo correspondiente. Así que mi idea fue darle a este archivo de prueba el mismo nombre que el archivo principal y ponerlo bajo src / test / resources en el mismo lugar (correspondiente) que el archivo principal. Pero ahora tengo el problema, que no puedo usar todos los demás archivos de src / main / resources.
Pensé que junit test los copiaría de forma predeterminada en target / test-classes / cuando se ejecutan con los archivos de src / test / resources, pero no es así. Solo existe el archivo de src / test / resources y no otro.
Gracias por cualquier idea, cómo podría solucionar este problema.
Aquí un ejemplo de cómo intento acceder a los archivos.
''
@BeforeClass
public static void globalSetUp() throws NamingException, SQLException {
System.setProperty("solr.solr.home", "/solr/");
cores = new CoreContainer(
"/home/foo/workspace/reporting/target/test-classes/solr");
cores.load();
server = new EmbeddedSolrServer(cores, "reporting");
loadDriver();
connection = createAndConnectToDB();
createDBSchema();
}
''
El problema estaba en pom.xml. / main / resources no fue como testResource.
Aquí está el fragmento que resolvió mi problema:
<build>
<testResources>
<testResource>
<directory>${project.basedir}/src/test/resources</directory>
</testResource>
<testResource>
<directory>${project.basedir}/src/main/resources</directory>
</testResource>
</testResources>
</build>
En realidad ambos están ahí / disponibles. Los archivos en src / main / resources y src / test / resources. Sin embargo, al cargar archivos desde la ruta de clase, cualquier archivo en src / test / resources tiene prioridad sobre los archivos en src / main / resources.
Resulta difícil responder completamente a su pregunta ya que no proporcionó muchos detalles (¿está utilizando ContextConfiguration? Si no es así, ¿cómo está cargando los archivos) pero le sugeriría que use un nombre diferente y cargue ese archivo explícitamente en el Prueba que lo necesita.
También podría tener el mismo nombre, pero todas las demás pruebas necesitarían usar explícitamente la ruta src / main / resources para cargar el archivo predeterminado.