I would like to start this post by thanking everyone that joined us for this event on MUnit and Automated Testing! The questions and suggestions received from you help us improve both each event and the community. These events cannot take place without you!
As written in the previous post the topic chosen by popular demand for the 2nd MuleSoft Meetup is MUnit and Automated Testing.
The evening started with an Introduction by Ana Chiritescu and John Folkesson on why the MuleSoft community and overview of the evening agenda. Everyone introduced themselves (name, background, expectations from this event) which set the stage for Albin’s talk.
At the break, we went for dinner and we decided to continue the open discussion on MUnit and testing there, given the cozy setup and the interesting conversations.
MUnit and Automated Testing
Albin Kjellin, Presales Solutions Engineer at MuleSoft talked about MUnit, the MuleSoft application testing framework. The presentation covered basics concepts, followed by an overview of more advanced MUnit feature list and Q&A that became open discussion with the attendees.
The link to Albin’s presentation can be found here.
Discussed at the end of Albin’s presentation:
- The importance of frequent and early feedback loops: automated testing helps with that.
- MUnit tests written in Mule 3.x.x and Mule4: there will be migration tools available to migrate the unit tests from one version to another
- The ability to test in isolation a complex Data Weave transformation using MUnit without having to extract the transformation in a subflow / reorganize the code
- Is MUnit source code available on GitHub? A search on this shows that the source code is not public: https://github.com/mulesoft
- The need to be able to dynamically supply input to MUnit tests (ie: using as input flow vars)
- The possibility to execute MUnit tests in a cascading manner so that in case a test fails the execution of the ones following stops if they depend on a successful execution of the previous one.
- Approach towards testing: keep your endpoints dumb – this way you can focus on testing the logic. In general, try to not test the MuleSoft components but your code.
Below is a highlight of the topics discussed over dinner & drinks:
- On MUnit & Automated testing:
- Canary testing: https://featureflags.io/canary-testing/
- AB Testing: https://vwo.com/ab-testing/
- Automated Testing with Postman & Newman: http://blog.getpostman.com/2015/09/03/how-to-write-powerful-automated-api-tests-with-postman-newman-and-jenkins/
- If anyone ran into cases where they had to use production “recorded data” in non-production environments.
- F.I.R.S.T testing principle: http://agileinaflash.blogspot.se/2009/02/first.html
- It is easy to just decide that writing unit tests is not worth the effort, however this is not true. Next time you spend a lot of time testing your code after a small change, think about the time you would “gain” if you would have unit tests instead!
- Other topics:
- Reliable and secure management of properties. Apache zookeeper was mentioned part of the discussion.
- Question received: if there is a global MuleSoft slack team that everyone can join. Some ideas that were suggested: organize the channels in slack based on MuleSoft competence levels or areas of interest. For example:
- “mulesoft-newbies” – if you are new with MuleSoft
- “mulesoft-apidesign” – for discussions regarding designing an API with MuleSoft
Answer: we will take this up with Sabrina the community manager and the other meetup leaders to decide how to take it further. The idea sounds good, the only concern is that with this we will move away from using the forum which is very helpful for everyone out there.
- MuleSoft recommended learning path for anyone new in the field: https://training.mulesoft.com/. Depending on the reason you want to start learning MuleSoft and how much time you have, one could start with the MuleSoft.U Development Fundamentals training, a self-paced online training of 8 weeks with both recorded walkthroughs, lectures and homeworks. When in a hurry you could sign up for the “Anypoint Platform Development: Fundamentals” instead. Comparison between the two here: https://training.mulesoft.com/mulesoftu/faceoff. The next training coming up is on 7th of February: https://training.mulesoft.com/instructor-led-training/mulesoftu-fundamentals you can still register now. After the course you can go for the MuleSoft Certified Associate Developer exam (MCD – Associate).
- Other relevant details
- Low attendance: 19th registered, 10 attending; appart from the Enfo colleagues and Albin, we had a colleague that came after attending the 1st meetup.
- Because we value your input and we were a small group, everyone asking a question during Albin’s presentation received a T-Shirt.
- We will resend slack invites to all the members in the MuleSoft group.
If there is anything I forgot to include or you would like to add? Do not hesitate to write comments on this post. Comments are disabled for non-members, to fix that you just need join our community via: https://meetups.mulesoft.com/ . Hope to see many of you here!!!
Last but not least: Happy 7 Mule Years celebration, Albin! We are proud and grateful to have you as an active attendee to our MuleSoft community events here in Stockholm!
Our upcoming meetup is already live! More details here: https://meetups.mulesoft.com/stockholm/
Ana Chiritescu & John Folkesson
Stockholm MuleSoft Meetup Leaders