My experience with TDD and how to implement it in a project
AsifiweM
Posted on February 13, 2020
Hi,
TDD (Test-Driven Development) is a development technique where a developer writes a certain number of tests to check or test the output of functional code he/she has written.
For example I might write a function to multiply two numbers. In TDD, I must write a number of tests first with the desired outputs based on all use cases and then write the function that must pass all the tests.
In traditional development a developer writes a function, then tests the output with desired inputs. Which is the complete opposite of TDD.
If, like me, you are used to the traditional way of development, it might take some learning to get used to TDD.
However there are some available tools/frameworks like :
-Mocha, Jasmine for JavaScript and
-Pytest or UnitTest for python
These tools help in the test automation process.
My personal favorite for JavaScript is Mocha. Mocha is open-source which is great.
Let's go through the steps to install Mocha in your project.
Prerequisites:
-Nodejs v8.0.0 or newer
-npm
In your terminal, change the directory to your project's directory and type the following:
If you want to install mocha with npm globally:
$ npm install --global mocha
or if you want it as a development dependency for your project:
$ npm install --save-dev mocha
Now type the following lines to install mocha and create a new folder called 'test' and open a file named 'test.js' where we will write our test.
$ npm install mocha $ mkdir test $ $EDITOR test/test.js # or open with your favorite editor
In the test.js is where you will write your test.
Now, in your package.json file add this line under scripts
"test": "mocha"
Finally in your terminal type the following to test your function.
npm run test
As always, documentation always helps.
You may use other testing frameworks but for mocha, documentation can be found here: mochajs.org
Posted on February 13, 2020
Join Our Newsletter. No Spam, Only the good stuff.
Sign up to receive the latest update from our blog.
Related
November 26, 2024
November 21, 2024