Как мне выполнить поиск и структурную замену в Intellij

StackOverflow https://stackoverflow.com/questions/808443

Вопрос

Я переношу свои тесты Junit с Junit v3 на Junit v4.

Я надеялся использовать поиск и структурно заменить "srs", чтобы добавить аннотацию @Test перед всеми методами, начинающимися с test. * используя мою любимую IDE Intellij.

Я просто не могу понять, как это сделать...Я могу создать запрос, который найдет все методы без аннотации (есть пример, связанный в Intellij), но при использовании для выполнения замены либо мой класс заменяется только именами методов, ЛИБО ничего не найдено.

Может быть, регулярное выражение проще :-)

/Konstantin

Это было полезно?

Решение

На данный момент это невозможно, но есть запросы на замену членов класса.

Вот полезная ссылка для начала работы с ssr: https://www.jetbrains.com/idea/docs/ssr.pdf

Другие советы

Я пробовал со следующим SSR, но у меня та же проблема, что и у вас :

Шаблон поиска :

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

Шаблон для замены :

@Test public void $testMethod$();

И я проверяю "Эта переменная является целью поиска" в TestMethod.Предварительный просмотр кажется нормальным, но IntelliJ фактически удаляет весь метод целиком :(

Откройте Поиск -> Заменить в path
Установите Directory в качестве каталога, в который помещен ваш тест
Установите строку поиска в:публичный тест на недействительность.
Установите значение replace string в:@Test \публичный недействительный тест.
Установите флажок Регулярное выражение.

Наслаждайся.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top