A less known interface for Git. Looks cool. Its main drawback which is for a majority of users a blocker it that works only on OSX. Luckily I enjoy using OSX so I must share this cool thing with the other mac guys. Its selling point is: "You're here to write code, not meditate on… Continue reading GitUP
Maven. Share properties between modules.
We have the following situation: a set of global properties and multiple maven modules. Some properties are required by something inside a module, others are required by another module. How can we achieve this? One way would be to have a copy of the properties available for each module. It will work, but it's not… Continue reading Maven. Share properties between modules.
Git. To rebase or not to rebase?
This is the question. Git has been around from some time now and offers lots of functionality in comparison with SVN. If you're not using git by now, you are a dinosaur. But this is not about git vs SVN. It's about merging vs rebasing. When to use one or the other. There is a… Continue reading Git. To rebase or not to rebase?
Testing concurrent code
Let's get to some interesting stuff. How difficult is to test your concurrent code? The answer: very. Still there must be some ways of testing it, right? Well there are things that can help you. One of them is Thread Weaver. How does it work? Using byte-code instrumentation it will run your method that you… Continue reading Testing concurrent code
Mutation testing performance
In this post I wanna write about the mutation testing performance. If you want to refresh your memory on mutation testing you can check my previous post. We saw there that mutation testing takes lots of time to run and that we cannot run it every time. I've described there some ways to improve the… Continue reading Mutation testing performance
Power Mocks
Mockito is cool, but in some cases workarounds are required to resolve certain situations. These workarounds force you to alter your code is order to be testable, but for a person who reads the code may find some of it not that useful, until he is explained why it was done this way. I will describe some… Continue reading Power Mocks
Test doubles
"Test Double is a generic term for any case where you replace a production object for testing purposes". This is how Martin Fowler describes it. They are mainly used in unit tests, when the unit must be tested in isolation. A little background If we are not testing the component in isolation, it's hard to cover… Continue reading Test doubles
Fluent assertions in Junit
Yes. Still Junit. We're not done with it yet. This is about how to make assertions using AssertJ. It's a cool library which is really easy to use and helps our tests look fluent and nicer. I'm not gonna go over all assertions that are available, I will just focus on some of them that… Continue reading Fluent assertions in Junit
BDD with Junit
Just recently, on 18th of September 2016 JGiven was released. So I wanted to know how does it look like and what can we do with it. As many of you already know BDD stands for Behavioural Driven Development. That means writing the test in a such a way that non-technical people(eg Business Analysts) would… Continue reading BDD with Junit
Junit Rules
While this can be read in many ways, this is strictly referring to the @Rule annotation and TestRule interface that are available for use in Junit. These are not widely used but they do help us in setting up tests and making the code more elegant and less verbose. What are they good for? Well they are good… Continue reading Junit Rules