{"id":241034,"date":"2014-10-13T10:06:30","date_gmt":"2014-10-13T14:06:30","guid":{"rendered":"https:\/\/2014.toronto.wordcamp.org\/?post_type=wcb_speaker&#038;p=241034"},"modified":"2014-11-02T16:32:18","modified_gmt":"2014-11-02T21:32:18","slug":"david-herrera","status":"publish","type":"wcb_speaker","link":"https:\/\/toronto.wordcamp.org\/2014\/speaker\/david-herrera\/","title":{"rendered":"David Herrera"},"content":{"rendered":"<p><img decoding=\"async\" src=\"http:\/\/www.gravatar.com\/avatar\/340608280a6ac44c67d10bc3982a0625?s=128&amp;d=identicon\" style=\"float: right;margin: 10px\" \/>I\u2019m a software developer at Alley Interactive with a background in digital media and journalism. I&#8217;ve built sites with WordPress since 2009, and prior to Alley, I was a web developer for Religion News Service, a nonprofit news organization.<\/p>\n<h2>Speaking session<\/h2>\n<p><a title=\"Session information\" href=\"https:\/\/2014.toronto.wordcamp.org\/session\/writing-cleaner-sturdier-code-with-unit-testing\/\">Writing Cleaner, Sturdier Code With Unit Testing<\/a> in the <a title=\"Developer track listings\" href=\"\/track\/developer\">Developer<\/a> track.<\/p>\n<h2>About your presentation<\/h2>\n<p>My presentation will introduce what unit testing is, why developers should write tests, and how they can start. We&#8217;ll write our first tests with PHPUnit and learn more about unit testing with the WordPress core test suite.<\/p>\n<h2>What do you want people to learn from your presentation?<\/h2>\n<p>I hope people learn more about the &#8220;why&#8221; of unit testing: Why tests are so good at helping you catch bugs and how they can encourage you to write cleaner code.<\/p>\n<p>Practically speaking, the presentation will show how to write unit tests using PHPUnit assertions, what happens when a test runs, and where to look in the WordPress core test suite for some patterns and guidance.<\/p>\n<p>More generally, I hope the presentation suggests that unit testing isn&#8217;t as daunting as it might look. Once you get the hang of it, writing tests can be pretty satisfying.<\/p>\n<h2>Why did you decide to speak?<\/h2>\n<p>Unit tests have saved me more times than I can count by flagging a problem with new code &#8212; before I deploy it &#8212; that I would have otherwise missed. I wanted to speak at WordCamp Toronto to try to help others enjoy the same thing.<\/p>\n<h2>What attracted you to WordPress in the first place?<\/h2>\n<p>Even before I wrote any code, WordPress was my choice because it let me publish quickly and simply. When I started building websites, I stuck with WordPress because of the supportive community and because it let me easily create flexible, user-friendly publishing experiences for others.<\/p>\n<h2>What is your favourite plugin or theme, and why?<\/h2>\n<p>You can&#8217;t go wrong with <a title=\"Fieldmanager Plugin on GitHub\" href=\"https:\/\/github.com\/alleyinteractive\/wordpress-fieldmanager\" target=\"_blank\">Fieldmanager<\/a>, Alley Interactive&#8217;s plugin for metaboxes, custom fields, and settings pages.<\/p>\n<h2>What are you most looking forward to at WordCamp Toronto?<\/h2>\n<p>Websites that aren&#8217;t accessible are broken, so I&#8217;m excited about the attention WordCamp is giving to accessibility this year.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>I\u2019m a software developer at Alley Interactive with a background in digital media and journalism. I&#8217;ve built sites with WordPress since 2009, and prior to Alley, I was a web developer for Religion News Service, a nonprofit news organization. Speaking session Writing Cleaner, Sturdier Code With Unit Testing in the Developer track. About your presentation &hellip; <a href=\"https:\/\/toronto.wordcamp.org\/2014\/speaker\/david-herrera\/\" class=\"more-link\">Continue reading <span class=\"screen-reader-text\">David Herrera<\/span> <span class=\"meta-nav\">&rarr;<\/span><\/a><\/p>\n","protected":false},"author":7390768,"featured_media":0,"comment_status":"closed","ping_status":"closed","template":"","meta":{"jetpack_post_was_ever_published":false,"_wcpt_user_name":"","footnotes":""},"speaker_group":[],"class_list":["post-241034","wcb_speaker","type-wcb_speaker","status-publish","hentry"],"jetpack_sharing_enabled":true,"jetpack_likes_enabled":true,"avatar_urls":{"24":"https:\/\/secure.gravatar.com\/avatar\/b9dda960817cde93b339ad02e29ecab3f0f4adba01bb6adf3b8473ae5cd10952?s=24&d=mm&r=g","48":"https:\/\/secure.gravatar.com\/avatar\/b9dda960817cde93b339ad02e29ecab3f0f4adba01bb6adf3b8473ae5cd10952?s=48&d=mm&r=g","96":"https:\/\/secure.gravatar.com\/avatar\/b9dda960817cde93b339ad02e29ecab3f0f4adba01bb6adf3b8473ae5cd10952?s=96&d=mm&r=g","128":"https:\/\/secure.gravatar.com\/avatar\/b9dda960817cde93b339ad02e29ecab3f0f4adba01bb6adf3b8473ae5cd10952?s=128&d=mm&r=g","256":"https:\/\/secure.gravatar.com\/avatar\/b9dda960817cde93b339ad02e29ecab3f0f4adba01bb6adf3b8473ae5cd10952?s=256&d=mm&r=g","512":"https:\/\/secure.gravatar.com\/avatar\/b9dda960817cde93b339ad02e29ecab3f0f4adba01bb6adf3b8473ae5cd10952?s=512&d=mm&r=g"},"_links":{"self":[{"href":"https:\/\/toronto.wordcamp.org\/2014\/wp-json\/wp\/v2\/speakers\/241034","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/toronto.wordcamp.org\/2014\/wp-json\/wp\/v2\/speakers"}],"about":[{"href":"https:\/\/toronto.wordcamp.org\/2014\/wp-json\/wp\/v2\/types\/wcb_speaker"}],"author":[{"embeddable":true,"href":"https:\/\/toronto.wordcamp.org\/2014\/wp-json\/wp\/v2\/users\/7390768"}],"replies":[{"embeddable":true,"href":"https:\/\/toronto.wordcamp.org\/2014\/wp-json\/wp\/v2\/comments?post=241034"}],"version-history":[{"count":6,"href":"https:\/\/toronto.wordcamp.org\/2014\/wp-json\/wp\/v2\/speakers\/241034\/revisions"}],"predecessor-version":[{"id":241783,"href":"https:\/\/toronto.wordcamp.org\/2014\/wp-json\/wp\/v2\/speakers\/241034\/revisions\/241783"}],"sessions":[{"embeddable":true,"href":"https:\/\/toronto.wordcamp.org\/2014\/wp-json\/wp\/v2\/sessions\/241037?_embed=1&context=view"}],"wp:attachment":[{"href":"https:\/\/toronto.wordcamp.org\/2014\/wp-json\/wp\/v2\/media?parent=241034"}],"wp:term":[{"taxonomy":"wcb_speaker_group","embeddable":true,"href":"https:\/\/toronto.wordcamp.org\/2014\/wp-json\/wp\/v2\/speaker_group?post=241034"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}