MaDa
MaDa

Reputation: 10762

Tools for functional testing a Java EE application with message-driven beans and web services

I need to test a complete system that talks to the world entirely by JMS and JAX-WS. The flow, more or less, is this:

  1. Triggered by a single JMS message,
  2. Queries a few other external systems (via JMS or webservice).
  3. Listens for the answers on queues (sometimes for 1 request there are many replies expected).
  4. Processes what's needed and sends replies back (via JMS) to the calling system (also one or more replies per one triggering message).

I've been searching for a tool that could:

The only thing that comes close so far is jMeter; it lacks only the ability to listen on a queue. Any other ideas? Could be free or commercial.

In the end, it seems to me I'd have to deploy a series of message-driven beans as mocks, but I want to make sure I'm not reinventing the wheel.

Upvotes: 0

Views: 813

Answers (3)

WesternGun
WesternGun

Reputation: 12787

You can use JBehave, while importing dependencies like wiremock and activemq-core/activemq-client in Maven. I have done this multiple times.

The downside may be that the test project/module will be a somehow middle size project itself.

And now, JMeter supports JMS already

Upvotes: 0

MaDa
MaDa

Reputation: 10762

Finally I resorted to writing my own set of MDBs.

Cons:

  • much repetitive work,
  • not reusable (a dedicated solution to the project),
  • missed the possibility to learn a tool that could make my life easier next time,

Pros:

  • full control of the test flow,
  • ability to deploy it in the target environment (WAS 7) — probably out of the question with SoapUI,
  • wrote it in a way that allows developing large test sets in a fast and efficient way.

Some colleagues I asked also recommended this approach. I'm a disappointed I haven't found a better way.

Upvotes: 1

Aravind Yarram
Aravind Yarram

Reputation: 80194

SoapUI has native support for testing web services and JMS. If you doesn't like it then build a small test framework using Spring (spring-ws) and activeMQ.

Upvotes: 1

Related Questions