It's been awhile since I wrote my last blog post so I thought I would resume with a subject close to my heart...unit testing.   Unit testing is tricky and lots of people don't focus enough on the key pillars that make up a good test:     Trustworthy - Can the test be run      multiple times and work in the same way each time? A test which works      sometimes and fails randomly when a build happens during continuous      integration(CI) is just going to be ignored and has no benefit to the      team. Worse still, a bad test can give you a false impression that      everything is fine when really it's not.       Readable - Can you look at the      name of the test and work out what it's meant to do? For example, a      test named "It_works_and_doesnt_fail" isn't as good as      "It_will_add_a_valid_order_without_errors".     Maintainable - Is your test simple      to setup and refactor when code changes are made in the rest of the      system? The...
Problems faced in the life of a software engineer.