Giter VIP home page Giter VIP logo

Comments (6)

zheng-wang avatar zheng-wang commented on July 24, 2024

Can I get more info about why an application or integration server need to be stopped as part of your testing?

If an application contains only one message flow, the current functionality can stop the message flow. If an application contains multiple message flows, testing all of them in one test case seems not a good practice. One test case is better to test one aspect of one message flow.

Stopping an integration server makes the test case impact even more.

from irontest.

simonalexander2005 avatar simonalexander2005 commented on July 24, 2024

Can I get more info about why an application or integration server need to be stopped as part of your testing?
One test case is better to test one aspect of one message flow.

You're right, in the most part just restarting the one message flow would suffice. The only time it would be helpful is if there are many message flows that contain cache data, and to clear the caches they would all have to be restarted - in which case it's more efficient to just restart the application

from irontest.

zheng-wang avatar zheng-wang commented on July 24, 2024

Honestly, I haven't been able to figure out whether Iron Test should do test preparation like running MQ scripts to isolate a message flow, or starting/stopping message flow, etc. These look like deployment automation's scope. Before running automated tests, maybe deployment automation should go first to set up the environment for testing. This is because testing is data centric, and mixing deployment automation steps with data testing steps makes a test case cumbersome and lose focus.

The existing start/stop message flow feature was added early when I hadn't got good idea on message flow isolation. Later on, I think I got the idea, like shown in the wiki, so have removed usages of message flow start/stop steps from all my test cases. I was too lazy to remove the message flow start/stop feature.

So sorry I could not add application or integration server or even integration node or queue manager stop/start at this moment. In future when the Script Step feature is added to Iron Test, user would be able to write custom code to achieve these in Iron Test (though not recommended to do so). Let me know if I am wrong.

from irontest.

zheng-wang avatar zheng-wang commented on July 24, 2024

For the cache scenario, I assume you are using the same cache across different message flows. Suggest to develop a simple message flow (CacheAdminMessageFlow) for clearing it, e.g. MQ Input -> Java Compute -> MQ Output. In the test case, instead of restart application or integration server to clear cache, just send a message to the CacheAdminMessageFlow for clearing the cache.

I may not be able to figure out the best solution for you, but code should be designed to be test friendly.

from irontest.

simonalexander2005 avatar simonalexander2005 commented on July 24, 2024

Thanks, I see your point that in an ideal world things would be done that way. When you're dealing with legacy code, or even just a test environment that you can't make structural changes to (like developing new flows, changing alias queues, etc.) then it can be harder to do this kind of testing in the ideal way. But I understand if you don't want to develop a new feature just for me ;)

from irontest.

zheng-wang avatar zheng-wang commented on July 24, 2024

Right, developing a new feature for a single user and maintain the feature through the future is an effort that I am not able to afford. So I am closing this issue. Sorry about this.

from irontest.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.