Arquillian Examples for Microservices



I have created a new organization at to develop an application following microservices architecture and then show how to write different kind of tests using Arquillian. The idea is then these examples can be used as teaching examples, but also to be used during conferences.

The idea is that each repository contains one service which might be written in Java or not. The master branch contains only “business” code, no tests. This is done in that way because you can find a place where the business code is alone so it can be reused for any workshop or live coding where you want to show to the attendees how to write any kind of test. Also if we have one clean repo we can always do a diff to know what has been added to develop any kind of test.

So the tests are placed in a branch. Each kind of tests will have their own branch. For example integration tests will go to integration-tests, component tests to component-test and so on.

So in summary master branch contains the chuck-norris like project where no tests are required because we are good enough to not having to write tests, and then each kind of tests go to its own branch.

The idea is that when we need to show code to any talk, we don’t need to develop new code.



I’m not really sure why we need a new organization for it. Single repo wouldn’t be enough?


Well in general a microservice is a different project fore ach service, so to maintain the reality as possible in the examples I think that it should be done in this way. But there are other reasons, for example one service can use Gradle and another Maven (so we can show how to use Arquillian in both cases), some services can be Java, others Javascript others Go, and we are not tight to anything. We are free in each service.