GET /api/v2/video/1249
HTTP 200 OK Vary: Accept Content-Type: text/html; charset=utf-8 Allow: GET, PUT, PATCH, HEAD, OPTIONS
{ "category": "EuroPython 2012", "language": null, "slug": "fully-test-driven-django-with-selenium-part-1", "speakers": [ "H Percival" ], "tags": [], "id": 1249, "state": 1, "title": "Fully Test-driven Django with selenium part 1", "summary": "[EuroPython 2012] H Percival - 5 JULY 2012 in \"Pizza Napoli\"\n\n", "description": "tl; dr: The concept: run through the official Django tutorial, but with full\nTDD Includes browser-based testing with Selenium, using the new WebDriver API\nIn-depth unit-testing, including the Django Test Client and tools like Mock\nDiscussions of TDD philosophy: what to test, what not to test, how to test\n[http://www.tdd-django-tutorial.com/](http://www.tdd-django-tutorial.com/)\n[https://github.com/hjwp/Test-Driven-Django-Tutorial](https://github.com/hjwp\n/Test-Driven-Django-Tutorial) come prepared! you\u2019ll need git, firefox,\npython2.7, django1.4 and selenium installed. Fully Test-Driven Django with\nSelenium AKA \u201cThe Django Pony vs The Testing Goat\u201d This tutorial is aimed\nprimarily at people who want to learn about one or many of: Django Selenium\nTest-Driven-Development So it\u2019s aimed at beginners of one kind or another \u2013 if\nyou are already well versed in all three, then you may not get much out of it.\nThe idea is to run through the steps covered by the official Django tutorial,\ncovering the essentials of Django from a beginner\u2019s point of view. However, at\neach stage, instead of \u201cjust\u201d writing the Django code required to build our\nsite, we first write tests. And we don\u2019t just write unit tests! We start by\nwriting \u201cfunctional\u201d or \u201cacceptance\u201d tests, using Selenium - which means\ndriving a real browser, and checking the actual behaviour of the site as it is\nrendered, from the user\u2019s point of view. Why should you listen to me, I hear\nyou ask? Well, I was lucky enough to get my first \u201cproper\u201d software\ndevelopment job about two years ago with a bunch of Extreme Programming\nfanatics, who\u2019ve thoroughly inculcated me into their cult of Test-Driven\ndevelopment. Believe me when I say I\u2019m contrary enough to have questioned\nevery single practice, challenged every single decision, moaned about every\nextra minute spent doing \u201cpointless\u201d tests instead of writing \u201cproper\u201d code.\nBut I\u2019ve come round to the idea now, and whenever I\u2019ve had to go back to some\nof my old projects which don\u2019t have tests, boy have I ever realised the wisdom\nof the approach. So, I\u2019ve learnt from some really good people, and the\nlearning process is still fresh in my mind, and most importantly, I still have\nthe passion of a recent convert! Pre-requisites Come with the following pre-\ninstalled on your laptop please: Git Firefox Python 2.7\nsetuptools/easy_install/pip then: pip install django pip install selenium pip\ninstall mock PS - I don\u2019t have a preview of my TDD talk, but there is one\nvideo of me giving a lightning talk at last year\u2019s Pycon UK. It\u2019s on a totally\ndifferent topic, but it gives a hit of my \u201cdynamic\u201d presentation \u201cskills\": - [\nhttps://www.youtube.com/watch?v=e6NLAbgmRZ4](https://www.youtube.com/watch?v=e\n6NLAbgmRZ4)\n\n", "quality_notes": "", "copyright_text": "Standard YouTube License", "embed": "<object width=\"640\" height=\"390\"><param name=\"movie\" value=\"http://youtube.com/v/WfyoC0h9QKA?version=3&amp;hl=en_US\"></param><param name=\"allowFullScreen\" value=\"true\"></param><param name=\"allowscriptaccess\" value=\"always\"></param><embed src=\"http://youtube.com/v/WfyoC0h9QKA?version=3&amp;hl=en_US\" type=\"application/x-shockwave-flash\" width=\"640\" height=\"390\" allowscriptaccess=\"always\" allowfullscreen=\"true\"></embed></object>", "thumbnail_url": "http://i.ytimg.com/vi/WfyoC0h9QKA/hqdefault.jpg", "duration": null, "video_ogv_length": null, "video_ogv_url": null, "video_ogv_download_only": false, "video_mp4_length": null, "video_mp4_url": null, "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": "http://www.youtube.com/watch?v=WfyoC0h9QKA", "whiteboard": "", "recorded": "2012-07-06", "added": "2012-09-06T22:33:05", "updated": "2014-04-08T20:28:27.196" }