Подтвердить что ты не робот

Использование eclipse находит и заменяет все на своп аргументы

У меня около 100 строк, которые выглядят следующим образом:

assertEquals (results.get(0).getID(), 1);

Все они начинаются с assertEquals и содержат два аргумента. Я ищу способ использования find и replace all для замены аргументов всех этих строк.

Спасибо

4b9b3361

Ответ 1

используйте следующее regexp, чтобы найти:

assertEquals\((.*),(.*)\);

и это значение замены:

assertEquals(\2,\1);

Регулярное выражение означает "assertEquals (за ним следует первая группа символов, за которой следует запятая, за которой следует вторая группа символов, за которой следует);"

Заменимое значение означает "assertEquals" (за которым следует вторая группа найденных символов, за которой следует запятая, за которой следует первая группа найденных символов, а затем:).

Ответ 2

Я не знаю, как это сделать в Eclipse, но если у вас также установлен vim, вы можете загрузить файл в нем и сделать

:%s/\(assertEquals(\)\(.*\),\(.*\))/\1\3,\2)/

Ответ 3

Если вы часто меняете порядок параметров в объявлениях методов, я нашел плагин, который делает это за вас одним щелчком мыши.

Этот плагин добавляет две кнопки панели инструментов в редактор Eclipse Java:

Swap backward
Swap forward

enter image description here

С кареткой в ​​| в:

void process(int age, String |name, boolean member) {...}

щелчок по кнопке "Перемена" дает:

void process(int age, boolean member, String |name) {...}

или нажав кнопку "Обратить назад" с исходным исходным кодом:

void process(String |name, int age, boolean member) {...}

Вот статья, обсуждающая его.

Вот банка, которая попадает в ваш каталог плагинов eclipse.

Ответ 4

Вы также можете использовать рефакторинг подписи встроенного метода Eclipse для переопределения аргументов.

В случае преобразования из JUnit в TestNG (как это выглядит так, как вы это делаете), вы можете скопировать org.testng.Assert в свой проект и реорганизовать методы assertXYZ для переноса ожидаемых/фактических аргументов.

Когда вы закончите, удалите свою копию org.testng.Assert