| <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> |
| <html xmlns="http://www.w3.org/1999/xhtml"> |
| <head> |
| <meta http-equiv="Content-Language" content="en-us" /> |
| <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> |
| <link rel="stylesheet" href="style.css" type="text/css" title="main" media="screen" /> |
| <title>Eclipse Project Oxygen.1a (4.7.1a) News</title> |
| </head> |
| <body> |
| <h1>Eclipse Project Oxygen.1a (4.7.1a) - New and Noteworthy</h1> |
| <p>Here are some of the noteworthy things available in the Oxygen.1a update release |
| which is now available for <a href="http://download.eclipse.org/eclipse/downloads/#Latest_Release" target="_top">download</a>. |
| </p> |
| |
| <ul> |
| <li><a href="#JDT">JDT</a></li> |
| </ul> |
| |
| <table class="news"> |
| <colgroup> |
| <col class="title" /> |
| <col /> |
| </colgroup> |
| |
| <tr> |
| <td colspan="2" class="section" id="JDT">JDT</td> |
| </tr> |
| |
| <tr id="junit-5-support"> |
| <td class="title">Eclipse support for JUnit 5</td> |
| <td class="content"> |
| <a href="http://junit.org/junit5/">JUnit 5</a> support is now available in Eclipse. |
| <ul> |
| <li> |
| <p>Create a new JUnit Jupiter test via <b>New JUnit Test Case</b> wizard:</p> |
| <p><img src="images/new-junit-jupiter-test.png" alt=""/></p> |
| </li> |
| |
| <li> |
| <p>Add JUnit 5 library to the build path:</p> |
| <ul> |
| <li> |
| <p>New JUnit Test Case wizard offers to add it while creating a new JUnit Jupiter test:</p> |
| <p><img src="images/add-junit-5-lib.png" alt=""/></p> |
| </li> |
| <li> |
| <p>Quick Fix <b>(Ctrl+1)</b> proposal on <b><code>@Test</code></b>, <b><code>@TestFactory</code></b>, <b><code>@ParameterizedTest</code></b> and <b><code>@RepeatedTest</code></b> annotations:</p> |
| <p><img src="images/add-junit-5-lib-quick-fix.png" alt=""/></p> |
| </li> |
| <li> |
| <p>Add JUnit library in Java Build Path dialog:</p> |
| <p><img src="images/add-junit-5-lib-java-build-path.png" alt=""/></p> |
| </li> |
| </ul> |
| </li> |
| |
| <li> |
| <p>Create a JUnit Jupiter test method with the new <b>test_jupiter</b> template:</p> |
| <p><img src="images/junit-jupiter-test-method-template.png" alt=""/></p> |
| </li> |
| |
| <li> |
| <p>Create a <b><code>@TestFactory</code></b> method with the new <b>test_factory</b> template:</p> |
| <p><img src="images/junit-jupiter-test-factory-template.png" alt=""/></p> |
| </li> |
| |
| <li> |
| <p>JUnit Jupiter’s <code>Assertions</code>, <code>Assumptions</code>, <code>DynamicContainer</code> and <code>DynamicTest</code> classes are now added to <b>Eclipse Favorites</b> by default:</p> |
| <p><img src="images/content-assist-favorites.png" alt=""/></p> |
| <p>This allows you to quickly import the static methods from these classes in your code via Content Assist <b>(Ctrl + Space)</b> and Quick Fix <b>(Ctrl + 1)</b>.</p> |
| </li> |
| |
| <li> |
| <p>View all the failures from grouped assertions in the same <b>Result Comparison</b> dialog opened from JUnit view:</p> |
| <p><img src="images/grouped-assertions-result-comparison.png" alt=""/></p> |
| </li> |
| |
| <li> |
| <p>View the number of disabled tests and tests with assumption failures on hover in JUnit view:</p> |
| <p><img src="images/skipped-tests.png" alt=""/></p> |
| </li> |
| |
| <li> |
| <p>Use <b>Go to File</b> action or just double-click to navigate to the test from JUnit view even when the test is displayed with a custom name:</p> |
| <p><img src="images/display-name.png" alt=""/></p> |
| </li> |
| |
| <li> |
| <p>(Re-)Run a single <b><code>@Nested</code></b> test class by using the <b>Run</b> action in JUnit view or Outline view. |
| You can even right-click on a nested test class name in the editor and use the <b>Run As</b> action: |
| </p> |
| <p><img src="images/run-nested-class.png" alt=""/></p> |
| </li> |
| |
| <li> |
| <p>The <b>Test Method Selection</b> dialog in JUnit launch configuration now shows the method parameter types also:</p> |
| <p><img src="images/test-method-selection-dialog.png" alt=""/></p> |
| </li> |
| |
| <li> |
| <p>You can provide tags to be included in or excluded from a test run in the <b>Configure Tags</b> dialog of JUnit launch configuration.</p> |
| <p><img src="images/junit-tags.png" alt=""/></p> |
| </li> |
| </ul> |
| |
| <p><b>Note:</b></p> |
| <ul> |
| <li> |
| If you are using an Eclipse workspace where you were running your JUnit 5 tests via <code>@RunWith(JUnitPlatform.class)</code> in Eclipse without JUnit 5 support |
| then you will have JUnit 4 as the test runner in their launch configurations. Before executing these tests in Eclipse with JUnit 5 support, you should either |
| change their test runner to JUnit 5 or delete them so that new launch configurations are created with JUnit 5 test runner while running the tests: |
| <p><img src="images/test-runner-update.png" alt=""/></p> |
| </li> |
| <li> |
| We do not support running tests in a setup where an old Eclipse build (not having JUnit 5 support) is using a new Eclipse build (having JUnit 5 support) as target. Also, developers who have |
| the JDT JUnit runtime bundles <code>(org.eclipse.jdt.junit.runtime, org.eclipse.jdt.junit4.runtime)</code> checked out and pull the latest changes will run into the above issue. |
| You are expected to use a new Eclipse build for the development. |
| </li> |
| </ul> |
| |
| </td> |
| </tr> |
| <tr id="java-9"> |
| <td class="title">Eclipse support for Java™ 9</td> |
| <td class="content"> |
| <a href="http://docs.oracle.com/javase/9/">Java™ 9</a> is here, and JDT fully supports it: |
| <ul> |
| <li>The Eclipse compiler for Java (ECJ) implements all the new Java 9 <a href="http://docs.oracle.com/javase/9/docs/technotes/guides/language/enhancements.html">language enhancements</a></li> |
| <li>Updated significant features to support Java Modules, such as compiler, search and many editor features.</li> |
| </ul> |
| <p><b>Note:</b> |
| It is not mandatory to run Eclipse with Java Runtime 9 to get the Java 9 support. However, |
| a Java runtime 9 is required to be on a project's build path |
| to compile a modular project against the system modules. |
| </p> |
| <ul> |
| <li> |
| <p>When a Java Runtime 9 is added to a project's build path, the system modules |
| are listed under the System library in the package explorer:</p> |
| <p><img src="images/java9-package-explorer.png" alt=""/></p> |
| </li> |
| </ul> |
| <ul> |
| <li> |
| <p>An existing non-modular Java project can be quickly converted to a module by |
| creating a module-info.java for that project. This feature can be availed once the project has |
| been moved to compliance 9:</p> |
| <p><img src="images/java9-create-module.png" alt=""/></p> |
| </li> |
| </ul> |
| <ul> |
| <li> |
| <p>With Java 9 support, a library or a container can now be added to the |
| module path as opposed to the classpath:</p> |
| <p><img src="images/java9-module-path.png" alt=""/></p> |
| </li> |
| </ul> |
| <ul> |
| <li> |
| <p>Once a module has been added to a project's module path, its encapsulation |
| properties can further be modified by clicking on the <b>Is Modular</b> option |
| and editing the Module properties. The following example shows how module <code>module.one</code> can |
| can be made to export its packages in the context of the current Java project:</p> |
| <p><img src="images/java9-module-properties.png" alt=""/></p> |
| </li> |
| </ul> |
| <ul> |
| <li> |
| <p>Java search now includes a new search scope - Module:</p> |
| <p><img src="images/java9-module-search.png" alt=""/></p> |
| </li> |
| </ul> |
| </td> |
| </tr> |
| <tr> |
| <td colspan="2"/> |
| </tr> |
| </table> |
| |
| <p>The above features are just the ones that are new in the Oxygen.1a update release. |
| See also the <a href="https://www.eclipse.org/eclipse/news/4.7/">News for Eclipse Oxygen</a>. |
| </p> |
| |
| </body> |
| </html> |