1.7 KiB
+++ title = "Things I Learnt The Hard Way - Make Tests That You Know How To Run on the Command line" date = 2019-06-19
[taxonomies] tags = ["en-au", "book", "things i learnt", "tests", "command line"] +++
You know that "Play" with a little something on your IDE that runs only the tests? Do you know what it does?
A long time ago I read the story about a professor that taught his students to code. He preferred to teach using an IDE, 'cause then "students have to just press a button to run the tests".
I get the idea, but I hate the execution.
When we get into professional field, we start using things like continuous integration which, basically, is "run tests every time something changes" (it's a bit more than that, but that's the basic idea).
Now, let me ask you this: Do you think the students of the professor above would know how to add the command to run the tests in a continuous integration system?
I know I'm being too picky (one could even call me "pricky" about this) but the fact is that whatever we do today, at some point can be automated: our tests can be run in an automated form, our deployment can be run in an automated form, our validation can be run in an automated form and so on. If you have no idea how those things "happen", you'll need the help of someone else to actually build this kind of stuff, instead of having the knowledge (well, half knowledge, the other half is the CI tool) with you all the time.
{{ chapters(prev_chapter_link="/books/things-i-learnt/tests-apis", prev_chapter_title="Tests Make Better APIs", next_chapter_link="/books/things-i-learnt/throw-away", next_chapter_title="Be Ready To Throw Your Code Away") }}