2016-09-29 64 views
1

我想重構exisiting代碼Eclipse代碼重構 - Junits

String a = "Hi"; 
assertEquals(a, "Hi"); 

String a = "Hi"; 
assertEquals("Hi", a); 

我有一個200萬斷言都在我的項目報表需要進行重構。他們是否可以在Eclipse IDE中使用快捷鍵,模板或批處理過程來實現這一點?

assertEquals(expected,actual);

+0

我也許會使用smth。就像使用正則表達式的「在項目中查找和替換」函數一樣。 –

+0

@ArthurEirich:你能分享一個正則表達式的例子嗎? – SRCM

+1

注意:當你去做所有重構工作時,爲什麼不把它改成更健全的* assertThat(a,is(「Hi」))*?有很好的優勢,你不需要交換你的論點;-) – GhostCat

回答

2

你可以嘗試以下方法:

  1. 複製org.junit.Assert.assertEquals方法進入一個新的類,比方說temp.TempAssert
  2. 搜索,並在所有文件替換import static org.junit.Assert.assertEquals;import static temp.TempAssert.assertEquals;
  3. 轉到TempAssert類,做重構 - >更改方法簽名以切換參數的順序
  4. 替換import static temp.TempAssert.assertEquals; bac k到import static org.junit.Assert.assertEquals;
+0

不錯的主意是。 – GhostCat

1

打過有點用正則表達式中的所有文件,我想出了以下解決方案(感謝this link):

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

捕獲第一和第二個參數到一個單獨的組1和組2,並且應粘貼到find輸入字段中。

assertEquals($2, $1); 

該命令將交換分別存儲在$ 1中的第一個和第二個參數分別存儲在$ 1中的組。

警告

我使用IntelliJ IDEA的開發,因此可以得出在Eclipse中的意外行爲。但命令應該幾乎是相同的。