2009-04-30 8 views
7

Estoy migrando mis pruebas Junit de Junit v3 a Junit v4.¿Cómo busco y reemplazo estructuralmente en Intellij

Tenía la esperanza de utilizar la búsqueda y reemplazar estructuralmente "srs" para agregar una anotación @Test antes de todos los métodos que comienzan con la prueba. * Utilizando mi IDE Intellij favorito.

No puedo encontrar la forma de hacerlo ... Puedo crear una consulta que encuentre todos los métodos sin una anotación (hay un ejemplo incluido en Intellij) pero cuando se usa para reemplazar, mi clase se reemplaza solo por los nombres del método O no se encuentra nada.

Tal vez una expresión regular es más fácil :-)

/Konstantin

+0

Intenté buscar bloques sincronizados verificados dos veces antes. Quizás deberíamos presentar un informe de errores; srs no hace lo que necesitamos? – krosenvold

+0

Sí, yo Supongo que es un poco críptico para los desentrenados, vi una muestra que se implementó con groovy. ¿Cómo van a usar un simple mortal como yo? – Konstantin

+1

He tratado de usarlo varias veces, sin éxito. un tiempo para descubrir cómo hacer expresiones que coincidan (aunque sé bastantes sistemas RE), y luego cuando se aplica, elimina el objetivo en lugar de sustituir mi reemplazo. Algunas veces, he tenido que buscar durante bastante tiempo para encontrar todo el código disperso en todas mis fuentes que se eliminó. Es mo Repasar lo que vale. – PanCrit

Respuesta

1

No es posible, a partir de ahora, pero hay solicitudes para reemplazos de miembros de la clase.

Aquí hay un enlace útil para empezar con SSR: https://www.jetbrains.com/idea/docs/ssr.pdf

+0

El enlace a la documentación está muerto. – dastrobu

+0

@dastrobu enlace de trabajo: https://www.jetbrains.com/idea/docs/ssr.pdf – MyDogTom

0

Open Search -> Reemplazar en ruta
Directorio Conjunto al directorio en el ensayo se coloca
Conjunto cadena de búsqueda para: public void prueba.
Establecer reemplazar cadena a: @Test \ n \ tExploración pública pública.
Marque la casilla Expresión regular.

Disfrútalo.

+0

Lamento no haber sido la respuesta que estaba buscando. Estaba pidiendo la búsqueda estructural más poderosa. Ya hice el reemplazo usando expresiones regulares. – Konstantin

+0

¿Resolvió esta respuesta el problema? –

1

me trataron con la siguiente SSR pero tengo el mismo problema que tú: plantilla

Buscar:

public class $TestCase$ extends $TestCaseClazz$ { 
    public void $testMethod$(); 
} 

reemplazo plantilla:

@Test public void $testMethod$(); 

Y yo chec k "Esta variable es el objetivo de la búsqueda" en testMethod. La vista previa parece correcta, pero IntelliJ en realidad borró todo el método :(

Cuestiones relacionadas