{"id":18282956,"url":"https://github.com/zentered/talks-do-we-need-tdd","last_synced_at":"2025-04-09T05:41:15.373Z","repository":{"id":57189435,"uuid":"66575030","full_name":"zentered/talks-do-we-need-tdd","owner":"zentered","description":"Do we really need TDD?","archived":false,"fork":false,"pushed_at":"2017-11-27T17:21:22.000Z","size":495,"stargazers_count":2,"open_issues_count":0,"forks_count":2,"subscribers_count":4,"default_branch":"master","last_synced_at":"2025-04-02T23:05:58.790Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"JavaScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/zentered.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2016-08-25T16:29:09.000Z","updated_at":"2017-11-15T12:02:17.000Z","dependencies_parsed_at":"2022-09-15T06:21:56.878Z","dependency_job_id":null,"html_url":"https://github.com/zentered/talks-do-we-need-tdd","commit_stats":null,"previous_names":["blended/do-we-need-tdd"],"tags_count":4,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/zentered%2Ftalks-do-we-need-tdd","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/zentered%2Ftalks-do-we-need-tdd/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/zentered%2Ftalks-do-we-need-tdd/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/zentered%2Ftalks-do-we-need-tdd/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/zentered","download_url":"https://codeload.github.com/zentered/talks-do-we-need-tdd/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":247987096,"owners_count":21028891,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2024-11-05T13:06:50.102Z","updated_at":"2025-04-09T05:41:15.356Z","avatar_url":"https://github.com/zentered.png","language":"JavaScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"[![Coverage Status](https://coveralls.io/repos/github/blended/talks-do-we-need-tdd/badge.svg?branch=master)](https://coveralls.io/github/blended/talks-do-we-need-tdd?branch=master)\n[![npm version](https://badge.fury.io/js/beginners-tdd-workshop-by-blended.svg)](https://badge.fury.io/js/beginners-tdd-workshop-by-blended)\n\n[![JavaScript Style Guide](https://cdn.rawgit.com/feross/standard/master/badge.svg)](https://github.com/feross/standard)\n\n# If the code deserves to be written, it deserves to have tests.\n\n## Introduction\n### Why?\n\u003e Before you implement,\n\u003e write the test.\n\nThe evidence says:\n- TDD can reduce bug density.\n- TDD can encourage more modular designs (enhancing software agility/team velocity).\n- TDD can reduce code complexity.\n\n### 5 Questions Every Unit Test Must Answer\n\n1. What are you testing?\n1. What should it do?\n1. What is the actual output?\n1. What is the expected output?\n1. How can the test be reproduced?\n\n\n    import test from 'tape';\n\n    // For each unit test you write,\n    // answer these questions:\n    test('What component aspect are you testing?', assert =\u003e {\n      const actual = 'What is the actual output?';\n      const expected = 'What is the expected output?';\n\n      assert.equal(actual, expected,\n        'What should the feature do?');\n\n      assert.end();\n    });\n\n\nFor some philosophy, see docs/TheWayOfTestivus.pdf\n\n## Sources\n\n- [5 Questions Every Unit Test Must Answer](https://medium.com/javascript-scene/what-every-unit-test-needs-f6cd34d9836d#.j7hmhyo85)\n- [What's the difference between unit, functional, acceptance, and integration tests?](http://stackoverflow.com/questions/4904096/whats-the-difference-between-unit-functional-acceptance-and-integration-test/4904533#4904533)\n- https://github.com/hoodiehq/hoodie/blob/master/package.json\n- https://github.com/semantic-release/semantic-release/blob/caribou/package.json\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fzentered%2Ftalks-do-we-need-tdd","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fzentered%2Ftalks-do-we-need-tdd","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fzentered%2Ftalks-do-we-need-tdd/lists"}