{"id":156,"date":"2008-11-11T12:11:21","date_gmt":"2008-11-11T16:11:21","guid":{"rendered":"http:\/\/blogs.n1zyy.com\/andrew\/?p=156"},"modified":"2008-11-11T12:11:21","modified_gmt":"2008-11-11T16:11:21","slug":"phpunit-fam-libnotify-fun","status":"publish","type":"post","link":"https:\/\/blogs.n1zyy.com\/andrew\/2008\/11\/11\/phpunit-fam-libnotify-fun\/","title":{"rendered":"PHPUnit + FAM + libnotify == fun"},"content":{"rendered":"<p>Last night I <a href=\"http:\/\/twitter.com\/imarealgeek\/status\/1000027596\">&#8216;tweeted&#8217;<\/a> (man, I hate that word!) on some hacking I was doing with PHPUnit, <a href=\"http:\/\/oss.sgi.com\/projects\/fam\/index.html\">FAM<\/a> (the File Alteration Monitor), and libnotify\/notification-daemon to automatically run unit tests as you modify files.<\/p>\n<p>Credit where credit is due: this was inspired by <a href=\"http:\/\/www.google.com\/search?hl=en&amp;client=firefox-a&amp;rls=org.gentoo%3Aen-US%3Aofficial&amp;hs=F0v&amp;q=growl+unit+test&amp;btnG=Search\">other people&#8217;s work<\/a> with other unit testing frameworks.<\/p>\n<p>Anyways, the <a href=\"http:\/\/www.youtube.com\/watch?v=Aq1T1Qm6ZI4\">short screencast<\/a> in my update last night has already generated some interest, so I thought I&#8217;d get this out on the web for perhaps wider exposure.<\/p>\n<p>Coming soon: continuous integration on your desktop for your PHPUnit projects.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Last night I &#8216;tweeted&#8217; (man, I hate that word!) on some hacking I was doing with PHPUnit, FAM (the File Alteration Monitor), and libnotify\/notification-daemon to automatically run unit tests as you modify files. Credit where credit is due: this was inspired by other people&#8217;s work with other unit testing frameworks. Anyways, the short screencast in [&hellip;]<\/p>\n","protected":false},"author":3,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[7,11,20,23],"tags":[],"class_list":["post-156","post","type-post","status-publish","format-standard","hentry","category-development","category-hacks","category-php","category-programming"],"_links":{"self":[{"href":"https:\/\/blogs.n1zyy.com\/andrew\/wp-json\/wp\/v2\/posts\/156","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/blogs.n1zyy.com\/andrew\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/blogs.n1zyy.com\/andrew\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/blogs.n1zyy.com\/andrew\/wp-json\/wp\/v2\/users\/3"}],"replies":[{"embeddable":true,"href":"https:\/\/blogs.n1zyy.com\/andrew\/wp-json\/wp\/v2\/comments?post=156"}],"version-history":[{"count":0,"href":"https:\/\/blogs.n1zyy.com\/andrew\/wp-json\/wp\/v2\/posts\/156\/revisions"}],"wp:attachment":[{"href":"https:\/\/blogs.n1zyy.com\/andrew\/wp-json\/wp\/v2\/media?parent=156"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/blogs.n1zyy.com\/andrew\/wp-json\/wp\/v2\/categories?post=156"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/blogs.n1zyy.com\/andrew\/wp-json\/wp\/v2\/tags?post=156"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}