Kirk Lund created GEODE-953:
-------------------------------

             Summary: SerializableExternalResource and SerializableRuleChain 
should extend rather than borrow JUnit code
                 Key: GEODE-953
                 URL: https://issues.apache.org/jira/browse/GEODE-953
             Project: Geode
          Issue Type: Bug
          Components: tests
            Reporter: Kirk Lund


The override hooks that JUnit Rules provide allows a "before()" method to throw 
any Throwable (including checked exceptions), but does not allow an "after()" 
method to throw checked exceptions. See below:
{noformat}
protected void before() throws Throwable {

protected void after() {
{noformat}
The currently committed versions of SerializableExternalResource and 
SerializableRuleChain borrow code from JUnit instead of extending JUnit classes 
to allow changing the after() to have a throws clause:
{noformat}
protected void after() {
{noformat}
If we choose to follow the JUnit best practice of having after() not perform 
any verifications (or otherwise be a very safe call that cannot throw checked 
exceptions), then we can change these classes to extend the JUnit classes 
instead of borrowing any code from JUnit.

The Transaction and Off-Heap dunit tests should be changed to NOT perform any 
assertions during tearDown()/after(). There may be additional DUnit and JUnit 
tests that also need to change to bring them into line with the best practice

Checked exceptions can also be wrapped in an Error or RuntimeException so this 
"limitation" could theoretically be worked around if necessary.




--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

Reply via email to