GET /api/v2/video/1437
HTTP 200 OK Vary: Accept Content-Type: text/html; charset=utf-8 Allow: GET, PUT, PATCH, HEAD, OPTIONS
{ "category": "PyCon DE 2012", "language": "German", "slug": "white-box-debugging-debugger-f-r-unittests-nut", "speakers": [ "Reinhard Wobst" ], "tags": [], "id": 1437, "state": 1, "title": "\"White Box Debugging\" - Debugger f\u00fcr Unittests nutzen", "summary": "\"White Box Testing\" ist das Testen von internen Zust\u00e4nden zur Laufzeit,\nw\u00e4hrend ubliche Unittests in der Regel nur Funktionen rufen. Man kann aber\nmittels eines Debuggers White Box Testing durchf\u00fchren - ein Pythonskript\nerlaubt dies fur Python mit pdb wie auch f\u00fcr C/C++ - Programme mit gdb.\n\nUnittests sind ohne Frage unerl\u00e4sslich, aber oft aufw\u00e4ndig zu programmieren\nund beschr\u00e4nkt aussagef\u00e4hig, da in der Regel nur einzelne Funktionen oder\nModule als Black Box getestet werden k\u00f6nnen. Nicht selten ist sogar\ngesonderter Code notwendig, um sinnvolle Tests zu erm\u00f6glichen.\n\nAussagekr\u00e4ftiger und naheliegender w\u00e4ren Tests auf Werte mitten im Code, doch\nsolch eine Funktionalit\u00e4t bietet bisher nur die assert-Anweisung, die bei\nFehlern mit einem wenig aussagekr\u00e4ftigen Abbruch endet.\n\nDie Idee des Python-Skripts \"wbd\" (\"white box debugging\") ist, aus Kommentaren\nim Quelltext Konfigurationsfiles f\u00fcr Debugger zu erzeugen, so dass an\nbedingten Breakpoints Tests stattfinden. Beim Fehler landet man gleich im\nDebugger und kann die Umgebung analysieren.\n\nDas funktioniert derzeit f\u00fcr Pythonskripte und C/C++-Programme und ist auch\ngut als Hilfsmittel beim Debuggen selbst einzusetzen.\n\n", "description": "", "quality_notes": "", "copyright_text": "", "embed": "<object width=\"640\" height=\"390\"><param name=\"movie\" value=\"http://youtube.com/v/26tmYQk2vI8?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/26tmYQk2vI8?version=3&amp;hl=en_US\" type=\"application/x-shockwave-flash\" width=\"640\" height=\"390\" allowscriptaccess=\"always\" allowfullscreen=\"true\"></embed></object>", "thumbnail_url": "http://i3.ytimg.com/vi/26tmYQk2vI8/hqdefault.jpg", "duration": null, "video_ogv_length": null, "video_ogv_url": null, "video_ogv_download_only": false, "video_mp4_length": null, "video_mp4_url": "http://s3.us.archive.org/nextdayvideo/pyconde/pyconde2012/Vortrag_White_Box_Debugging_De.mp4?Signature=LgR%2Fs9%2F5Hgh37jNYY7RjN1YCORE%3D&Expires=1351851790&AWSAccessKeyId=FEWGReWX3QbNk0h3", "video_mp4_download_only": false, "video_webm_length": null, "video_webm_url": "", "video_webm_download_only": false, "video_flv_length": null, "video_flv_url": "", "video_flv_download_only": false, "source_url": "https://www.youtube.com/watch?v=26tmYQk2vI8", "whiteboard": "", "recorded": "2012-10-31", "added": "2012-11-02T05:26:35", "updated": "2014-04-08T20:28:26.927" }