El comportamiento que describes es perfectamente normal.
src/package1/A.java
test/package1/ATest.java
En su ATest.java
hay una import package1.A;
.
Después de su rediseñado, que se parece a esto: Código
src/package2/A.java
test/package1/ATest.java
La prueba se quedó donde estaba. No movió el código de prueba, sino su código fuente. No debería afectar a ninguna otra carpeta (como en su ejemplo).
La referencia en ATest.java
ahora debe ser import package2.A;
. De lo contrario, la refactorización salió mal.
No obstante, sus pruebas deberían funcionar, incluso si están en un directorio diferente. Eso es porque la importación fue cambiada por el método de refactorización.
Si desea limpiar su estructura de carpetas, usted tiene que cambiar manualmente el nombre del paquete test/package1
a test/package2
(lo sé, el paquete es package1
y package2
pero desea fortalecer el enfoque de la estructura de carpetas.
espero que te pueda ayudar
Me temo que no puedo entender su pregunta. ¿Podría proporcionarnos más información? Eso podría ayudar a responder esta pregunta (+1 para que pueda comentar) – guerda
supongamos que tengo la clase AAA en el paquete xxx. El destino de la clase es src/xxx/AAA.java, y supongamos que tengo una prueba ubicada en test/xxx/AAATest.java Por lo tanto, cuando mueva la clase AAA al paquete yyy mi prueba permanezca en el paquete xxx. – dmitrynikolaev