Node.js Test Driven Development

Code: craft-test-Node
Category: Automatic testing
Format: 10% lecture / 90% workshop
Duration: 2 days
Target audience: developers
Enrollment: Groups, companies
Venue: Client's office.

Training Program

The content of our program can be customised during pre-training analysis.

  1. TDD
    1. Practices, Tooling, Strategy - looking at TDD from multiple perspectives
    2. TDD as a tactical tool - design of simple and extensible APIs at the micro scale
    3. TDD and strategic decisions - why TDD does not replace but enhances the whiteboard and markers
    4. Spikes - understanding the nature of the problem before we start writing tests
  2. Tests
    1. ROI of tests - how to write tests that are cheap to maintain
    2. Tests as a feedback mechanism - how tests tell us which parts of the code to fix
    3. Unit tests vs integration tests - examples how to choose the type of test depending from the problem
    4. Happy path vs unhappy path - testing exceptional and edge cases
    5. Comparing London School of TDD with Chicago/Detroit School
  3. Difficult dependencies
    1. Filesystem
    2. HTTP client
    3. Database
    4. Test doubles - mock, spy, stub
    5. Managing the test data in database integration testing
  4. TDD and asynchronicity
    1. Design of testable asynchronous APIs
    2. Promises and async/await - asynchronous code tests that respect the synchronicity of our brains
  5. TDD and functional programming elements
    1. Thinking in data flow terms
    2. Higher-order functions
    3. Closures
    4. Composition
    5. Pure functions
    6. Programming without this/class/prototypes
  6. Tooling
    1. How to minimize the tooling and use what the language already offers
    2. Mocha
    3. Node.js assert
    4. Supertest

Download PDF


Meet the experts who will conduct your training.

Contact us for a free consultation.

Firstname and lastname:

If you prefer direct contact then you can always call.

Iwona Sobótka

Training coordinator

I agree to the processing of my personal data in accordance with the Law on the Protection of Personal Data in connection with sending a request via the contact form.

Providing the data is voluntary but necessary to process the query. I have been informed that I have the right to access my data, the possibility of correcting them, demanding stopping their processing.

The administrator of personal data is Bottega IT Minds, ul. Jana Sawy 2, 20-632 Lublin, Poland.

The information clausule