在本节中,将编辑工作台中的 Java 元素。
1. |
在“包”视图中,找到 junit.samples.VectorTest.java 并双击它,以便在 Java 编辑器中打开此文件。 |
2. |
注意,在编辑器区域中,此文件显示在活动编辑器中。如果它不是活动的编辑器,则单击它的选项卡以使它成为活动的编辑器。 |
3. |
在“包”视图中,在编辑器区域中打开各种资源,并注意语法突出显示。例如:
![]() |
4. |
查看“轮廓”视图。注意它填充了哪些内容,显示包本身以及导入声明、字段、类、方法的层次结构轮廓。 ![]() |
5. |
注意,“轮廓”视图指示 Java 元素是否为 abstract、final 等等。 在“轮廓”视图工具栏中切换显示/隐藏字段、显示/隐藏非 Public 成员和显示/隐藏 Static 成员按钮来过滤视图的显示内容。 ![]() |
6. |
在“轮廓”视图中切换排序按钮,以便对 Java 元素按顺序次序(如编译单元中所指示的)或者按字母次序排序。 |
7. |
可以通过查看编译单元的完整源代码来编辑源代码,也可以将查看范围缩小到单个元素。单击 VectorTest.java 的选项卡, 并单击工具栏中的仅显示所选元素的源代码按钮。 在“轮廓”视图中,选择各种元素,并注意它们是在编辑器中的分段视图中个别显示的。 ![]() |
8. |
再次单击编辑器区域,并单击工具栏中的同一按钮(显示完整源代码)。 在“轮廓”视图中,选择各种元素,并注意它们是再次显示在编辑器的整个文件视图中。现在应注意,“轮廓”视图选择在编辑器中是用标记栏中的范围指示符来标记的。 ![]() |
1. |
确保切换了“轮廓”视图的工具栏中的“排序”按钮,以便让视图按顺序排序(而不是按字母排序)。 |
2. |
在编辑器区域中,在 VectorTest.java 文件的最末尾(但是必须在关闭方括号之前)输入下列内容: public void testSizeIsThree (){ 注意,只要您在编辑器区域中输入了方法名,新方法就会出现在“轮廓”视图的最底部(因为视图是按顺序排序的)。 ![]() |
3. |
单击保存按钮。 注意,因为工作台是自动构建的,所以错误会显示在“包”视图、“任务”视图和编辑器标记栏中。还要注意,在“包”视图中,错误会被传播至包含错误的编译单元的项目。 ![]() |
4. |
通过输入下列内容来继续添加新方法: assertTrue(fFull.size() == 3); } |
5. |
单击保存按钮。注意,错误消失了。 |
在本节中,将使用本地历史支持来很容易地切换到个别 Java 元素的先前保存版本。
1. |
在“轮廓”视图中,选择您刚才创建的 testSizeIsThree() 方法,并从它的上下文菜单中选择删除。 |
2. |
在编辑器中,在 VectorTest.java 文件的最末尾添加新的 testSizeIsThree() 方法: public void testSizeIsThree() { fFull.add(0, new Integer(0)); fFull.remove(new Integer(3)); assertTrue(fFull.size() == 3); } 完成时单击保存。 |
3. |
在“轮廓”视图中,选择 testSizeIsThree() 方法,并从它的上下文菜单中选择从本地历史中替换。 |
4. |
在“从本地历史中替换 Java 元素”对话框中,“本地历史”列表显示该元素的各种保存状态, “Java 源代码比较”窗格显示所选的历史资源与现有的工作台资源之间的差异的详细信息。 ![]() |
5. |
在“本地历史”窗格中,选择您删除的版本,然后单击替换。 |
6. |
编辑器中的代码会替换为历史版本。 单击保存按钮。 |
1. |
双击 junit.samples.VectorTest.java 以在编辑器中打开它。 |
2. |
在“轮廓”视图中,选择 testSizeIsThree() 方法,以便在编辑器中导航至该方法的代码。 |
3. |
在编辑器中,将下列行添加到该方法的末尾: Vector v = new Vector(); for (int i=0; i<3; i++) v.addElement(new Object()); assert |
4. |
光标在单词 assert 的末尾时,按 Ctrl+Space 以激活代码辅助。 ![]() |
5. |
在列表中下卷一点点,就可以看到可用选项。 在代码辅助窗口仍然是活动的情况下,在 assert 后面输入字母 t(之间没有空格)以缩小列表。 |
6. |
选择列表中的各项,并使光标悬浮其上以查看每一项的任何可用 Javadoc 帮助。 ![]() 注意:必须先选择该项才能查看悬浮帮助 |
7. |
从丢失的项目中选择 assertTrue(boolean) 选项,并按 Enter 键。 |
8. |
在插入代码之后,完成该行以便使它的内容如下所示: assertTrue(v.size() == fFull.size()); |
9. |
完成时单击保存。 |
1. |
如果它尚未打开,则双击 junit.samples.VectorTest.java 以在编辑器中打开它。 |
2. |
在“轮廓”视图中,选择 import 语句,并从它们的上下文菜单中选择删除。 ![]() |
3. |
从编辑器中的上下文菜单中选择组织导入。 |
4. |
会将必需的 import 语句添加到包声明下面的代码的开头。 ![]() 注意:可在首选项页中控制 import 语句的次序(窗口 > 首选项 > Java > 导入次序)。 |
5. |
完成时单击保存。 |
在本节中,将改进 junit.framework.TestSuite 的构造器的代码。为了使代码的意图更明确,将抽取这样的代码:它将基类中的测试事例收集到称为 collectTestMethods 的新方法中。
1. |
在 junit.framework.TestSuite.java 文件中,选择下列范围的代码: Class superClass= theClass; Vector names= new Vector(); while (Test.class.isAssignableFrom(superClass)) { Method[] methods= superClass.getDeclaredMethods(); for (int i= 0; i < methods.length; i++) { addTestMethod(methods[i], names, constructor); } superClass= superClass.getSuperclass(); } |
2. |
从编辑器中的选择的上下文菜单中,选择抽取方法。 ![]() |
3. |
在方法名字段中, 输入 collectInheritedTests,然后单击下一步。 ![]() |
4. |
重分解因子预览页显示将要执行的更改。 ![]() |
5. |
抽取方法。在“轮廓”视图中选择该方法,以便在编辑器中导航至该方法。 ![]() |
1. |
在“包”视图中,双击 junit.samples.money.MoneyTest.java,以便在编辑器中打开它。 |
2. |
在编辑器中的 MoneyTest 类声明的第一行中,选择 TestCase 超类规范,并
![]() 注意:此命令在方法和字段上也有效 |
3. |
TestCase 超类在编辑器区域中打开,同时也显示在“轮廓”视图中。 ![]() |
4. |
单击 TestCase.java 编辑器选项卡,以使它成为活动的编辑器。确保仍然选择了类声明,并且:
![]() |
5. |
“层次结构”视图打开,并显示 TestCase 类。 ![]() 还可以在“层次结构”视图中的类型和方法上打开编辑器。 |