[ 
https://issues.apache.org/jira/browse/LUCENE-3762?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13205380#comment-13205380
 ] 

Robert Muir commented on LUCENE-3762:
-------------------------------------

about the assumes() etc from setup, in general exceptions/assumes, I think we 
would like them to be treated the same whether they happen in the actual test 
method body or setup or teardown?

So like today, the buggy behavior is that if an assumption fails from a test 
method itself, we get a message to stderr:
NOTE: Assume failed in 'testFoo' (ignored): Some message explaining why this is 
ok!

But, if it fails in setup, we get no message at all!

The reason I think it was hard was because of how the TestWatcher didn't get an 
event if it failed in setup, so we didnt have a clean way to 
do this... but maybe its something we can fix in junit 4.8+ (doesn't need to be 
done on this issue!)

                
> Upgrade JUnit to 4.10, refactor state-machine of detecting setUp/tearDown 
> call chaining.
> ----------------------------------------------------------------------------------------
>
>                 Key: LUCENE-3762
>                 URL: https://issues.apache.org/jira/browse/LUCENE-3762
>             Project: Lucene - Java
>          Issue Type: Improvement
>            Reporter: Dawid Weiss
>            Assignee: Dawid Weiss
>            Priority: Trivial
>             Fix For: 3.6, 4.0
>
>         Attachments: LUCENE-3762.patch, LUCENE-3762.patch
>
>
> Both Lucene and Solr use JUnit 4.7. I suggest we move forward and upgrade to 
> JUnit 4.10 which provides several infrastructural changes (serializable 
> Description objects, class-level rules, various tweaks). JUnit 4.10 also 
> changes (or fixes, depends how you look at it) the order in which 
> @Before/@After hooks and @Rules are applied. This makes the old state-machine 
> in LuceneTestCase fail (because the order is changed).
> I rewrote the state machine and used a different, I think simpler, although 
> Uwe may disagree :), mechanism in which the hook methods setUp/ tearDown are 
> still there, but they are empty at the top level and serve only to detect 
> whether subclasses chain super.setUp/tearDown properly (if they override 
> anything).
> In the long term, I would love to just get rid of public setup/teardown 
> methods and make them private (so that they cannot be overriden or even seen 
> by subclasses) but this will require changes to the runner itself.

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: 
https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira

        

---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to