GET /api/v2/video/422
HTTP 200 OK Vary: Accept Content-Type: text/html; charset=utf-8 Allow: GET, PUT, PATCH, HEAD, OPTIONS
{ "category": "PyCon US 2011", "language": "English", "slug": "pycon-2011--units-need-testing-too", "speakers": [ "Gary Bernhardt" ], "tags": [ "pycon", "pycon2011", "pyunit", "testing", "unittests" ], "id": 422, "state": 1, "title": "Units Need Testing Too", "summary": "", "description": "Units Need Testing Too\n\nPresented by Gary Bernhardt\n\nPython's long history of testing has focused primarily on integration- and\nsystem-level tests: slow-running tests executing lots of code. These are a\ngreat start, but many of them can be transformed into unit-level tests. True\nunit tests are orders of magnitude faster (about 1ms each), providing quicker\nfeedback and better failure localization. We'll look at why and how to write\nthem.\n\nAbstract\n\nPython has a wonderful legacy in testing: PyUnit has been in the standard\nlibrary since March, 2001, and it was already a year old by then. We adopted\nbrowser driving quickly, and we do it at huge scale with great test\nparallelization infrastructure.\n\nBig tests aren't everything, though. In the Python world, true unit tests are\nsomewhat rare, and even most tests written with the unittest library are\nintegration tests. These tests are slow to execute and don't localize failure\nas well as smaller, focused tests. They leave us with two options: either run\nthem rarely, sacrificing feedback, or run them often, sacrificing speed.\n\nWriting true unit tests removes that particular trade-off. When your tests\nexecute in a millisecond each, you can afford to run a thousand of them every\ntime you save a source file. This talk will discuss what unit tests really\nare, why they matter, and how to write them in Python.\n\n", "quality_notes": "", "copyright_text": "Creative Commons Attribution-NonCommercial-ShareAlike 3.0", "embed": "", "thumbnail_url": "", "duration": null, "video_ogv_length": 176895138, "video_ogv_url": null, "video_ogv_download_only": false, "video_mp4_length": null, "video_mp4_url": "", "video_mp4_download_only": false, "video_webm_length": null, "video_webm_url": null, "video_webm_download_only": false, "video_flv_length": null, "video_flv_url": null, "video_flv_download_only": false, "source_url": "", "whiteboard": "", "recorded": "2011-03-11", "added": "2012-02-23T04:20:00", "updated": "2014-04-08T20:28:28.054" }