[
http://jira.codehaus.org/browse/JMOCK-214?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=167532#action_167532 ]
Nat Pryce commented on JMOCK-214:
---------------------------------
I'm uncomfortable with changing how third-party code behaves and then testing against it. I want to test that my code works with the third-party code as is, not after I've mucked about with how it creates threads.
I think this is a sidetrack. It's no good waiting for third-party threads to terminate. A third-party library might start long-lived daemon threads that outlast any single use of that API by a test. They might exist to keep a connection alive, for example. In which case, waiting for the threads to terminate would make the test hang.
See JMOCK-215 for how we're solving the issue of a test waiting for threads to finish. Feedback welcome.
> Fail fast when run concurrently
> -------------------------------
>
> Key: JMOCK-214
> URL:
http://jira.codehaus.org/browse/JMOCK-214> Project: jMock
> Issue Type: Improvement
> Components: Library
> Environment: any
> Reporter: Douglas Squirrel
>
> Steve F suggested I file this enhancement when we saw this behaviour at youDevise.
> When you build a test that executes in multiple threads, and it calls methods on a mocked object, you can get odd behaviour. For instance, our exactly(N).of expectation failed no matter how we set N or how many threads actually called the method (including N).
> This is by design, but it would help newcomers to JMock who don't know this if they got a clear failure instead of odd behaviour (as you do with ConcurrentModificationException for non-threadsafe collections). For instance, JMock could record the thread id on construction of the Mockery and then check the thread ID is the same on future invocations. (Not sure what performance effect this would have though.)
> Happy to try writing a unit test though I'm not sure if you want to start running multiple threads in your test suite.
--
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators:
http://jira.codehaus.org/secure/Administrators.jspa-
For more information on JIRA, see:
http://www.atlassian.com/software/jira
---------------------------------------------------------------------
To unsubscribe from this list, please visit:
http://xircles.codehaus.org/manage_email