Bread is made by mixing ingredients of more or less fixed proportions. There is a tolerance around these proportions defined by the quality standards. This level of tolerance ensures that the quality of the mix stays the same regardless of […]
Reflection in a programming language is the act of inspecting, dynamically calling, and modifying classes, objects, properties, and methods. In other words, reflection is the ability of the programming language to reflect on the structure of the code. The ES6 […]
Regardless of our coding skills we all make mistakes. Bugs do not only appear in our own code. Most web-applications are created by teams, and your teammates have the same right to make mistakes as you do. In addition, inheriting […]
One of the most powerful features of SinonJs is the ability to create a fake server. This feature is very useful when unit testing a component that's connected to a server via an API. Fake servers let you write real […]
Tests suites tend to grow together with applications. It is quite common that you need a significant amount of time to execute all your unit tests. Under these circumstances, you cannot afford to waste 5 secons on waiting for a […]
This is part 5 of the automating testing series with Mocha, Chai and SinonJs. Part 1 and part 2 introduce the Mocha automated testing framework and the Chai assertion library. We then learned how to use SinonJs spies and stubs. […]
This series introduces automated testing libraries for Javascript applications with Mocha, Chai and SinonJs. The first part covers the fundamentals of Mocha and Chai. The second part describes how Mocha and Chai can test DOM manipulations and handle asynchronous tests. […]
This is the second part on automated testing with Mocha, ChaiJs and SinonJs. If you have never used Mocha or ChaiJs before, I suggest reading the first part. We will continue where we left off last time. The syntax of […]
Many people claim that unit testing is a necessary condition for refactoring code. It is very hard to reliably refactor code without having good testing coverage. According to the definition of code refactoring, the process results in changes applied on […]
The motivation behind introducing automated testing on client side can be twofold. Either inspiration or desperation. Suppose you are in a team thinking about the architecture of a new software solution. The task "from zero to hero" is often motivating […]
The below instructions describe how a new Backbone project can be set up. Even though there are automatized solutions to perform all these steps, I find it important to go through these steps at least once. There are many excellent […]