Javascript-testauskirjaston ohjelmointi (5 cr)
Code: TX00DU59-3001
General information
Enrollment
02.05.2019 - 01.09.2019
Timing
02.09.2019 - 15.12.2019
Number of ECTS credits allocated
5 op
Mode of delivery
Contact teaching
Unit
ICT ja tuotantotalous
Campus
Leiritie 1
Teaching languages
- English
Seats
0 - 30
Degree programmes
- Degree Programme in Information Technology
Teachers
- Michael Solomon
Groups
-
TXL16S2Degree Programme in Information Technology
Objective
Core content level learning outcomes:
Knowledge and understanding:
The students will know how to edit and author different types of tests in codebases of varying levels of maturity and brokenness. They will also learn how to contribute to a multi-author open source project for testing.
Skills:
The students will be able to write state-of-the-art JavaScript code, effectively review code, and write high-quality tests for their code.
Content
Motivation:
As JavaScript programs become more connected to external services such as databases and APIs, testing their core functionality becomes more dependant on reliable mocks of these external services. Most testing libraries provide high-quality frameworks for testing one’s own code isolated from dependencies, but they are ill-equipped to deal with a dependency-first economy. The workers of tomorrow will need to be able to edit and author high-quality tools to test the myriad of dependencies with which they will interact as programmers.
Core content level:
• Introduction to testing frameworks in JavaScript
• Introduction to mocking frameworks in JavaScript
• Introduction to JavaScript project management, from git to continuous integration
• Co-creation of a next-generation testing library with unmock.io
Additional content:
Understanding of the business dynamics behind testing.
Further information
special course
Evaluation scale
0-5
Assessment methods and criteria
The students will be evaluated on the quality of their contributions (pull requests, reviews) to the main git repos for the course.
Qualifications
Strong background in JavaScript, with a preference for TypeScript knowledge as well. Intermediate experience building JavaScript applications for the web or NodeJS. Comfort with testing frameworks (jest, mocha, etc) and basic forms of testing such as unit tests, integration tests, and end-to-end tests.