-
1. Re: Support for cross-test deployment
jfrenetic Sep 20, 2012 5:20 PM (in response to jfrenetic)Could someone from Arquillian Dev team possibly share his thoughts on this?
I think this might be very useful, because sometimes I don't want to redeploy my application for each test in a test suite.
-
2. Re: Support for cross-test deployment
kito99 Sep 20, 2012 5:24 PM (in response to jfrenetic)Unless I'm mistaken, the official response is "tough luck" or "use another app server". So even though I love the concept of Arqullian, I've written it off for slow containers like WAS.
I still think it's a pretty serious limitation, though -- you should be able to a single deployment for an entire test suite, for example, without JRebel.
-
3. Re: Support for cross-test deployment
alrubinger Sep 20, 2012 5:25 PM (in response to jfrenetic)1 of 1 people found this helpfulWhat we've slated for the next API of Arquillian (can't be done now, as it'd break backwards-compatibility, unless we do some new API extension...) is to decouple the test event lifecycle from the event handlers. This would then let us wire up deployment actions alongside appropriate events to give you the type of flexibility you're requesting here. Aslak might be able to update you on the roadmap for that.
And the "microdeployment" strategy is great for integration testing! You don't have to integrate EVERYTHING all at once. In fact, microdeployments really help testing integration as you piece things together, and prevents the "big bang" integration test.
-
4. Re: Support for cross-test deployment
alrubinger Sep 20, 2012 5:27 PM (in response to kito99)I'll raise this again with the team at our meeting at JavaOne. Perhaps there's something we *can* do without breaking back-compatibility. Thanks, guys for the input.
-
5. Re: Support for cross-test deployment
alrubinger Sep 20, 2012 5:28 PM (in response to kito99)And what you SHOULD be doing is writing off the slow containers! Or using a remote Arquillian adaptor so that you don't start/stop between test runs, and only worry about deployment time between tests.
-
6. Re: Support for cross-test deployment
jfrenetic Sep 20, 2012 6:05 PM (in response to alrubinger)Thanks a lot for such a quick response!
Hopefully, something could be done about this in the future
And the "microdeployment" strategy is great for integration testing! You don't have to integrate EVERYTHING all at once.
You see, our application consists of multiple ejb modules, all packaged in ear. I'm not sure if this could be called integration testing when those modules are tested separately. But that's a different problem, sorry for off-topic
-
7. Re: Support for cross-test deployment
alrubinger Sep 20, 2012 6:32 PM (in response to jfrenetic)1 of 1 people found this helpfulAnton Shaykin wrote:
You see, our application consists of multiple ejb modules, all packaged in ear. I'm not sure if this could be called integration testing when those modules are tested separately. But that's a different problem, sorry for off-topic
Might be off-topic for here, but this is a central theme in our message: any time you combine two or more components, you're integrating. Including just a single EJB and an application server.
-
8. Re: Support for cross-test deployment
kito99 Sep 21, 2012 9:38 AM (in response to alrubinger)Developers don't always have control over the container choice, and some of them, like WAS (before Liberty Profile) take a looong time just to deploy an app, even if you don't restart the server.
-
9. Re: Support for cross-test deployment
alrubinger Sep 21, 2012 2:43 PM (in response to kito99)I know. Was just being cheeky.
-
10. Re: Support for cross-test deployment
aslak Sep 23, 2012 5:45 AM (in response to alrubinger)It's definitely planned as a feature, but can't be done without SPI changes. It's one of the two top features for 2.0 (along propper isolation with embedded containers)
-
11. Re: Support for cross-test deployment
kito99 Sep 23, 2012 9:57 AM (in response to aslak)Thanks for the update, Aslak. That's good to know.
-
12. Re: Support for cross-test deployment
bonigv Sep 26, 2012 2:22 AM (in response to kito99)Thanks @aslak. Deploy once test all is a fature I want yesterday. Across my two ejb maven modules across my project, I have 1200+ test cases. My build time has bumped up by 30 minutes just because of switching from ejb3unit to arquillian. I am going to have tough time explaining to everyone that this 'IS' a good thing . Using glassfish embedded 3 now. Of course I get to use the Ejb 3.1 featuresets and hibernate 4 with arquillian. But something that increases my unit testing time is not going to go down well with engineering for long. As long as there is a definite direction towards understanding the need for this feature we are good.
Personally I will also try to see whether it is something hackable. At least specific for glassfish3. What I am thinking is, if some way I can have an annotation support that tells not to undeploy it should work. Something that checks whether to redeploy.