Write quicker tests with console.assert and blocks
Apparently {}
can be interpreted by the JavaScript engine as a block and not an object. That’s the first learning.
The second learning is that the built-in console
object has an assert
method that you can use for super simple and quick testing. The method signature is console.assert(boolean_expression, message_if_fail)
.
Combine these two learnings and you have neat way to write quick and dirty tests in the same file as your implementation!
(I faced issues pushing to github for deployment due to the size of the embedded video, so I removed it. You can still view it here: https://www.instagram.com/p/CX17n8LIDbG/)
Here’s the code block from the video with some annotations:
/**
* ⚡️ ⚡️ ⚡️
* How to do quick & dirty testing
* with console.assert & blocks
* ⚡️ ⚡️ ⚡️
*/
class Cache {
// implementation
}
// test 1
{
const cache = new Cache({maxSize: 10})
cache.add('key1', 'value1')
console.assert(cache.get('key1') === 'value1', 'Key value pair gets stored correctly')
}
// test 2
// note that it initialises another variable called cache without an exception
// because they are contained in their own block scopes.
{
const cache = new Cache({maxSize: 3})
// do...
// test console.assert(cache)
}