Java Eclipse代码重构-Junits
我想重构现有的代码Java Eclipse代码重构-Junits,java,eclipse,junit,Java,Eclipse,Junit,我想重构现有的代码 String a = "Hi"; assertEquals(a, "Hi"); 到 我的项目中有大约200万条assert语句需要重构。在EclipseIDE中是否有快捷键、模板或批处理过程,我可以实现这些快捷键、模板或批处理过程来更轻松地完成这项工作 资产质量(预期、实际) 您可以尝试以下方法: 将org.junit.Assert.assertEquals方法复制到一个新类中,比如说temp.TempAssert 搜索并替换import static org.junit.
String a = "Hi";
assertEquals(a, "Hi");
到
我的项目中有大约200万条assert语句需要重构。在EclipseIDE中是否有快捷键、模板或批处理过程,我可以实现这些快捷键、模板或批处理过程来更轻松地完成这项工作
资产质量(预期、实际)
您可以尝试以下方法:
org.junit.Assert.assertEquals
方法复制到一个新类中,比如说temp.TempAssert
import static org.junit.Assert.assertEquals代码>使用导入静态temp.TempAssert.assertEquals代码>在所有文件中
TempAssert
类并进行重构->更改方法签名以切换参数顺序导入静态org.junit.Assert.assertEquals代码>在所有文件中
在使用了一点正则表达式之后,我提出了以下解决方案(多亏了): 将第一个和第二个参数分别捕获到单独的组1和组2中,并应粘贴到
find
输入字段中
assertEquals($2, $1);
此命令将分别交换存储在$1中的第一个参数组和存储在$2中的第二个参数组
警告
我正在使用Intellij IDEA进行开发,因此它可能会在eclipse中出现意外的行为。但是命令应该几乎相同。我可能会使用smth。比如用正则表达式“在项目中查找并替换”函数。@ArthurEirich:你能分享一个正则表达式的例子吗?旁注:当你进行所有重构工作时,为什么不把它改成更理智的资产(a,is(“Hi”)?有一个很好的优点,就是你不需要交换你的论点;-)@当谈到理智时,我会更进一步,使用AssertJ而不是hamcrest。像
这样的代码表明(a).isEqualTo(“Hi”)
与您的建议一样可读性更好。顺便说一句,我仍在努力寻找合适的正则表达式=)@ArthurEirich当然。我想这取决于你想用什么图书馆。assertThat和is是大多数人可以立即使用的东西,而无需向全新的断言框架添加新的依赖项。这是个好主意。
assertEquals\((.*), (.*)\);
assertEquals($2, $1);