<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:series="http://unfoldingneurons.com/"
		>
<channel>
	<title>Comments on: Interfaces Make Testing Easier</title>
	<atom:link href="http://www.brandonsavage.net/interfaces-make-testing-easier/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.brandonsavage.net/interfaces-make-testing-easier/</link>
	<description>The personal blog of Brandon Savage. Contains entries of a personal and professional nature focusing on PHP, Apple, LAMP, MySQL and Washington, DC.</description>
	<lastBuildDate>Fri, 03 Feb 2012 19:36:33 -0500</lastBuildDate>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.1</generator>
	<item>
		<title>By: sokzzuka</title>
		<link>http://www.brandonsavage.net/interfaces-make-testing-easier/#comment-3548</link>
		<dc:creator>sokzzuka</dc:creator>
		<pubDate>Thu, 27 May 2010 08:15:43 +0000</pubDate>
		<guid isPermaLink="false">http://www.brandonsavage.net/?p=1308#comment-3548</guid>
		<description>@giorgio: I know, but I konsider it as an ugly hack. I don&#039;t like eval - it&#039;s slow, unpredictable and dangerous.  That&#039;s way they added lambda&#039;s instead of create_function in 5.3.

@jory: interface defines a role that a class will fulfil, that&#039;s why you test roles not classes...</description>
		<content:encoded><![CDATA[<p>@giorgio: I know, but I konsider it as an ugly hack. I don&#8217;t like eval &#8211; it&#8217;s slow, unpredictable and dangerous.  That&#8217;s way they added lambda&#8217;s instead of create_function in 5.3.</p>
<p>@jory: interface defines a role that a class will fulfil, that&#8217;s why you test roles not classes&#8230;</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Oliver</title>
		<link>http://www.brandonsavage.net/interfaces-make-testing-easier/#comment-3547</link>
		<dc:creator>Oliver</dc:creator>
		<pubDate>Thu, 27 May 2010 02:58:50 +0000</pubDate>
		<guid isPermaLink="false">http://www.brandonsavage.net/?p=1308#comment-3547</guid>
		<description>You might wanna read up on mock vs. stub objects, there&#039;s more to mock objects than it seems, but usually only stubs are implemented (which is a shame).</description>
		<content:encoded><![CDATA[<p>You might wanna read up on mock vs. stub objects, there&#8217;s more to mock objects than it seems, but usually only stubs are implemented (which is a shame).</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Jory Geerts</title>
		<link>http://www.brandonsavage.net/interfaces-make-testing-easier/#comment-3546</link>
		<dc:creator>Jory Geerts</dc:creator>
		<pubDate>Wed, 26 May 2010 21:59:20 +0000</pubDate>
		<guid isPermaLink="false">http://www.brandonsavage.net/?p=1308#comment-3546</guid>
		<description>&quot;Since an interface already defines the majority of the public API, developers can feel comfortable that the methods they need will be implemented in each mock object they’re given, so long as it implements that interface.&quot;
Well not really. If the interface defines just the majority of the public API, you still can&#039;t be sure you&#039;re implementing everything you need.

An interface should define the entire (public) API. (Or rather, an implementation shouldn&#039;t add any public methods.) Then and only then do they have any kind of use.</description>
		<content:encoded><![CDATA[<p>&#8220;Since an interface already defines the majority of the public API, developers can feel comfortable that the methods they need will be implemented in each mock object they’re given, so long as it implements that interface.&#8221;<br />
Well not really. If the interface defines just the majority of the public API, you still can&#8217;t be sure you&#8217;re implementing everything you need.</p>
<p>An interface should define the entire (public) API. (Or rather, an implementation shouldn&#8217;t add any public methods.) Then and only then do they have any kind of use.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Giorgio Sironi</title>
		<link>http://www.brandonsavage.net/interfaces-make-testing-easier/#comment-3545</link>
		<dc:creator>Giorgio Sironi</dc:creator>
		<pubDate>Wed, 26 May 2010 18:21:41 +0000</pubDate>
		<guid isPermaLink="false">http://www.brandonsavage.net/?p=1308#comment-3545</guid>
		<description>sozzuka, PHPUnit uses exactly eval() to generate mocks.
Anyway, usually the choice for testing authentication in ZF applications is to use Zend_Test, which will set Zend_Session to a sort of &quot;testing mode&quot; since it is a singleton and cannot be substituted for now. Things will change in 2.x.</description>
		<content:encoded><![CDATA[<p>sozzuka, PHPUnit uses exactly eval() to generate mocks.<br />
Anyway, usually the choice for testing authentication in ZF applications is to use Zend_Test, which will set Zend_Session to a sort of &#8220;testing mode&#8221; since it is a singleton and cannot be substituted for now. Things will change in 2.x.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: sokzzuka</title>
		<link>http://www.brandonsavage.net/interfaces-make-testing-easier/#comment-3544</link>
		<dc:creator>sokzzuka</dc:creator>
		<pubDate>Wed, 26 May 2010 12:41:06 +0000</pubDate>
		<guid isPermaLink="false">http://www.brandonsavage.net/?p=1308#comment-3544</guid>
		<description>I just wish that there could be a way to dynamically create a class that implements some interface other than eval() and code generation. 

Generally you have a good point at using interfaces. Most people doesn&#039;t understand what they are meant for, maybe it&#039;s because they lack of knowledge of software engineering.</description>
		<content:encoded><![CDATA[<p>I just wish that there could be a way to dynamically create a class that implements some interface other than eval() and code generation. </p>
<p>Generally you have a good point at using interfaces. Most people doesn&#8217;t understand what they are meant for, maybe it&#8217;s because they lack of knowledge of software engineering.</p>
]]></content:encoded>
	</item>
</channel>
</rss>

<!-- Performance optimized by W3 Total Cache. Learn more: http://www.w3-edge.com/wordpress-plugins/

Minified using disk: basic (Feed is rejected)
Page Caching using disk: enhanced (User agent is rejected)
Database Caching 4/11 queries in 0.013 seconds using disk: basic
Content Delivery Network via Amazon Web Services: S3: files.brandonsavage.net.s3.amazonaws.com

Served from: www.brandonsavage.net @ 2012-02-07 04:28:53 -->
