Check out a free preview of the full Organizing JavaScript Functionality course:
The "Final Questions" Lesson is part of the full, Organizing JavaScript Functionality course featured in this preview video. Here's what you'd learn in this lesson:

Kyle wraps up the course by answering a question about unit testing. He concludes with his contact information and a few last words of wisdom.

Get Unlimited Access Now

Transcript from the "Final Questions" Lesson

[00:00:00]
>> [MUSIC]

[00:00:03]
>> Kyle: Let's see, are there any last questions that I haven't answered about this exercise? Yeah
>> Speaker 2: Not about this exercise, more in general, testing.
>> Kyle: Testing. Yeah, obviously that was way outside of the scope of things that I wanted to do here. But I do typically write a smaller subset of unit tests.

[00:00:27] And what I would look at in a shared environment like this is the stuff that I wanna unit test is the stuff that's shared. Because that's the stuff that I know can run agnostic of its environment. So that validator rule for example, that's a really easy thing to unit test.

[00:00:43] Cuz I know I can just stuff a bunch of data in it and I'm asserting that I'm gonna get the right answers out. So, I typically, again, I know that a lot of people have their different opinions on what test frameworks they like or whatever. There's a real simple one that's still powerful enough for most of what I use, and that's QUnit.

[00:01:02] And I use QUnit to do my basic assertions of little unit tests like that. Most of the time, I don't even need the asynchronous capability. If I need an asynchronous test, Mocha is another suite that's maybe a little bit better at doing asynchronous testing. But I don't go to the real extreme routes that other people do, there's a lot of great testing frameworks out there.

[00:01:23] But I'll do a QUnit for a basic set of unit tests. And then I will do regression tests for my integration in my browser. And that'll test all the other paths, kinda the full package all together. Again, minimal, I start with no test and work until I have confidence on it.

[00:01:43] Instead of assuming that I need to write lots and lots and lots and lots of tests.
>> Kyle: Okay, I'll just leave you with this. JavaScript's really awesome but it's even more awesome when you can use it in both places. And I hope that what you got out of this last bit of our talk together is that once you get confident with all of JavaScript.

[00:02:08] Once you spent a little bit of effort learning things like coercion and the other parts of JavaScript. It's a really easy thing to write a basic Node server that does the things you need it to do. You don't actually need to spend a lot of time being an expert.

[00:02:23] I am in no way, shape, or form a Node expert. On the whole scope of things, I'm not actually that high on the ladder scale in terms of my Node skills. I'm competent but I'm certainly not some kind of crazy hacker expert or whatever. But I know enough about JavaScript that I can get done what I need to get done.

[00:02:43] And that I hope is the biggest message take away here, learn JavaScript and use all of JavaScript and use JavaScript across your whole app, Okay? Thanks for being here, it was an honor to be here. One last quick thing just to remind everyone that this is my contact information.

[00:03:01] And I'll just leave you with that to say, is there a question I missed? Which direction would you go if you were to scale up? I assume the question means if I needed something more framework-ish, which direction would I go? The next step up is I'd move to Express or maybe KOA.

[00:03:21]
>> Kyle: So I'm not sure if that was exactly the question.
>> Speaker 3: The other question was, can you share this code that-
>> Kyle: Yeah, absolutely, the current state of things as I just wrote it, that'll be part of a zip file. I'll send out a zip file that has the corrected stuff that I messed up plus this new stuff.

[00:03:39] So that'll be sent out, so you'll have this copy of this code. It'll also probably end up on GitHub pretty quick but I'll send a zip file to you so you have it right away. Okay, well, what I was saying on this last slide, as an open ended invitation to anyone that ever takes one of my workshops I mean it when I say that it's impossible for you to have completely, fully uncompressed everything that we talked about today.

[00:04:02] There's a lot to go through. So I encourage you not let this be the last moment that you ever look at these exercises or look at the slides. Go back over them, go back over your notes, try the exercise stuff that we did from scratch, try it. And you may need to try it a few times and it's quite likely that you're going to run into some problem or frustration or question or something that we missed.

[00:04:24] So I want to invite you to feel free to reach out and ask questions from here on out. There's lots of different ways to get ahold of me, Ttweet at me, send me an email, whatever. All the time, I get emails from former attendees of workshops and I love helping people.

[00:04:37] So if there's anything that I can do more than I've already done to help increase your awareness, your learning of JavaScript, and your appreciation of this platform, feel free to let me know. It's been an honor being here, thanks for all your time and attention.