<?xml version="1.0" encoding="UTF-8" ?>
<?xml-stylesheet type="text/xsl" media="screen" href="/styles/xslt/rss.xslt"?>
<rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:trackback="http://madskills.com/public/xml/rss/module/trackback/" xmlns:wfw="http://wellformedweb.org/CommentAPI/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/" xmlns:media="http://search.yahoo.com/mrss/" xmlns:itunes="http://www.itunes.com/dtds/podcast-1.0.dtd" xmlns:c9="http://channel9.msdn.com">
<channel>
	<title>Comment Feed for Channel 9 - Jeffrey Van Gogh: Testing Rx with Pex</title>
	<atom:link rel="self" type="application/rss+xml" href="http://channel9.msdn.com/Blogs/Peli/Testing-Rx-with-Pex/RSS"></atom:link>
	<image>
		<url>http://ecn.channel9.msdn.com/o9/previewImages/100/512695_100x75.jpg</url>
		<title>Channel 9 - Jeffrey Van Gogh: Testing Rx with Pex</title>
		<link></link>
	</image>
	<description>Ever wonder how the&amp;nbsp;Reactive Extensions get tested?&amp;nbsp;Jeffrey Van Gogh gives
 a glimpse at how they do it. The Rx developers have been using&amp;nbsp;Pex and writing parameterized unit tests. In this video, we look at Enumerable.Zip and how we can use&amp;nbsp;Pex
 to help testing it.Jeffrey also explains how they use Pex in their build process to regenerate the entire unit test suite on each build!
The&amp;nbsp;Research in Software Engineering team (RiSE) coordinates Microsoft&#39;s research in Software Engineering in Redmond, USA. 
</description>
	<link></link>
	<language>en</language>
	<pubDate>Tue, 21 May 2013 11:51:09 GMT</pubDate>
	<lastBuildDate>Tue, 21 May 2013 11:51:09 GMT</lastBuildDate>
	<generator>Rev9</generator>
	<item>
		<title>Re: Jeffrey Van Gogh: Testing Rx with Pex</title>
		<description>
			<![CDATA[
<p>The end kinda made me jump. I turned the volume up to hear him and the end clip went &quot;BAM!&quot;.</p>
<p>&nbsp;</p>
<p>Cool stuff. I like the idea of having pex generate new tests at check-in. My continuous integration server is going to be getting some changes.</p>
<p>&nbsp;</p>
<p>Thanks</p>
<p>posted by DuNuNuBatman</p>]]>
		</description>
		<link>http://channel9.msdn.com/Blogs/Peli/Testing-Rx-with-Pex#c633965124350000000</link>
		<pubDate>Tue, 15 Dec 2009 22:20:35 GMT</pubDate>
		<guid isPermaLink="true">http://channel9.msdn.com/Blogs/Peli/Testing-Rx-with-Pex#c633965124350000000</guid>
		<dc:creator>DuNuNuBatman</dc:creator>
	</item>
	<item>
		<title>Re: Jeffrey Van Gogh: Testing Rx with Pex</title>
		<description>
			<![CDATA[
<p>Sorry about the end... we experimented with recording the movie sound through the phone which was not a great success.</p>
<p>posted by peli</p>]]>
		</description>
		<link>http://channel9.msdn.com/Blogs/Peli/Testing-Rx-with-Pex#c633965159160000000</link>
		<pubDate>Tue, 15 Dec 2009 23:18:36 GMT</pubDate>
		<guid isPermaLink="true">http://channel9.msdn.com/Blogs/Peli/Testing-Rx-with-Pex#c633965159160000000</guid>
		<dc:creator>peli</dc:creator>
	</item>
	<item>
		<title>Re: Jeffrey Van Gogh: Testing Rx with Pex</title>
		<description>
			<![CDATA[
<p>cool stuff <img src='http://ecn.channel9.msdn.com/o9/content/images/emoticons/emotion-1.gif' alt='Smiley' /> </p>
<p>recording with a phone is probably ok but you might want to do some audio mixing afterwards.. also [for me atleast] the sound is kinda off sync, but again, that could be sorted in post</p>
<p>&nbsp;</p>
<p>also, i'd be very interested in exactly how the Rx team integrated pex with tfs <img src='http://ecn.channel9.msdn.com/o9/content/images/emoticons/emotion-1.gif' alt='Smiley' />
</p>
<p>posted by aL_</p>]]>
		</description>
		<link>http://channel9.msdn.com/Blogs/Peli/Testing-Rx-with-Pex#c633965626700000000</link>
		<pubDate>Wed, 16 Dec 2009 12:17:50 GMT</pubDate>
		<guid isPermaLink="true">http://channel9.msdn.com/Blogs/Peli/Testing-Rx-with-Pex#c633965626700000000</guid>
		<dc:creator>aL_</dc:creator>
	</item>
	<item>
		<title>Re: Jeffrey Van Gogh: Testing Rx with Pex</title>
		<description>
			<![CDATA[
<p>We didn't integrate Pex with Tfs. </p>
<p>&nbsp;</p>
<p>In our team we use a checkin system popular inside Microsoft that does verification before checkin. Source changes get packaged up, send to a server. The server kicks off a build with the code&nbsp;changes, starts up a bunch of vms, installs the product and runs
 test on it. Only if everything passes the code is checked in by the server. </p>
<p>&nbsp;</p>
<p>In this system adding pex is very easy as you can write test scripts in any (scripting) language you want as long as there is a commandline to execute. Not sure how much work it would be to get it going in TFS...</p>
<p>posted by J.Van.Gogh</p>]]>
		</description>
		<link>http://channel9.msdn.com/Blogs/Peli/Testing-Rx-with-Pex#c633965778550000000</link>
		<pubDate>Wed, 16 Dec 2009 16:30:55 GMT</pubDate>
		<guid isPermaLink="true">http://channel9.msdn.com/Blogs/Peli/Testing-Rx-with-Pex#c633965778550000000</guid>
		<dc:creator>J.Van.Gogh</dc:creator>
	</item>
	<item>
		<title>Re: Jeffrey Van Gogh: Testing Rx with Pex</title>
		<description>
			<![CDATA[
<p>oh, i see <img src='http://ecn.channel9.msdn.com/o9/content/images/emoticons/emotion-1.gif' alt='Smiley' /></p>
<p>i got confused because one of the major new features of tfs 2010 is what is called gated check in (i belive) that does pretty much what you said, it makes a tfs shelve set and builds that and run a set of MsTest tests and if they pass, the shelve set gets
 checked in.. i just assumed that was what you ment <img src='http://ecn.channel9.msdn.com/o9/content/images/emoticons/emotion-1.gif' alt='Smiley' /></p>
<p>&nbsp;</p>
<p>but if you're not using tfs, what are you using? svn&#43;hooks? source safe? or is it an internal source control system?</p>
<p>posted by aL_</p>]]>
		</description>
		<link>http://channel9.msdn.com/Blogs/Peli/Testing-Rx-with-Pex#c633966000420000000</link>
		<pubDate>Wed, 16 Dec 2009 22:40:42 GMT</pubDate>
		<guid isPermaLink="true">http://channel9.msdn.com/Blogs/Peli/Testing-Rx-with-Pex#c633966000420000000</guid>
		<dc:creator>aL_</dc:creator>
	</item>
	<item>
		<title>Re: Jeffrey Van Gogh: Testing Rx with Pex</title>
		<description>
			<![CDATA[
<p>an internal source control system from before TFS (we're all old school Microsofties who have the old system's shortcuts in our fingers <img src='http://ecn.channel9.msdn.com/o9/content/images/emoticons/emotion-1.gif' alt='Smiley' />)</p>
<p>posted by J.Van.Gogh</p>]]>
		</description>
		<link>http://channel9.msdn.com/Blogs/Peli/Testing-Rx-with-Pex#c633966022180000000</link>
		<pubDate>Wed, 16 Dec 2009 23:16:58 GMT</pubDate>
		<guid isPermaLink="true">http://channel9.msdn.com/Blogs/Peli/Testing-Rx-with-Pex#c633966022180000000</guid>
		<dc:creator>J.Van.Gogh</dc:creator>
	</item>
	<item>
		<title>Re: Jeffrey Van Gogh: Testing Rx with Pex</title>
		<description>
			<![CDATA[
<p>As Jeffrey mentionned, Pex comes with a command line that allows to re-generate the test suite. In fact, the Pex Visual Studio addin launches the same command line when running Pex.
</p>
<p>&nbsp;</p>
<p>The command line comes with an option to specify to Pex that it should fail the run whenever a new *failing* test case is generated. By using this flag, you can ensure that your test suite stays 'Pex clean'.</p>
<p>posted by peli</p>]]>
		</description>
		<link>http://channel9.msdn.com/Blogs/Peli/Testing-Rx-with-Pex#c633966027020000000</link>
		<pubDate>Wed, 16 Dec 2009 23:25:02 GMT</pubDate>
		<guid isPermaLink="true">http://channel9.msdn.com/Blogs/Peli/Testing-Rx-with-Pex#c633966027020000000</guid>
		<dc:creator>peli</dc:creator>
	</item>
	<item>
		<title>Re: Jeffrey Van Gogh: Testing Rx with Pex</title>
		<description>
			<![CDATA[
<p>i see <img src='http://ecn.channel9.msdn.com/o9/content/images/emoticons/emotion-1.gif' alt='Smiley' /> </p>
<p>it would be an interesting exxperiment to try and get pex into a tfs 2010 build definition.. it should be possible..
</p>
<p>&nbsp;</p>
<p>@peli do you know what the differences are between pex and mstest output wise? i assume both parses the output of the commandline util as text basically..</p>
<p>&nbsp;</p>
<p>very interesting indeed.. i will have to do some noodeling over this <img src='http://ecn.channel9.msdn.com/o9/content/images/emoticons/emotion-1.gif' alt='Smiley' /></p>
<p>posted by aL_</p>]]>
		</description>
		<link>http://channel9.msdn.com/Blogs/Peli/Testing-Rx-with-Pex#c633968499680000000</link>
		<pubDate>Sat, 19 Dec 2009 20:06:08 GMT</pubDate>
		<guid isPermaLink="true">http://channel9.msdn.com/Blogs/Peli/Testing-Rx-with-Pex#c633968499680000000</guid>
		<dc:creator>aL_</dc:creator>
	</item>
	<item>
		<title>Re: Jeffrey Van Gogh: Testing Rx with Pex</title>
		<description>
			<![CDATA[
<p>Pex and mstest produce XML files but they are radically different. What's your idea?</p>
<p>posted by peli</p>]]>
		</description>
		<link>http://channel9.msdn.com/Blogs/Peli/Testing-Rx-with-Pex#c633968578440000000</link>
		<pubDate>Sat, 19 Dec 2009 22:17:24 GMT</pubDate>
		<guid isPermaLink="true">http://channel9.msdn.com/Blogs/Peli/Testing-Rx-with-Pex#c633968578440000000</guid>
		<dc:creator>peli</dc:creator>
	</item>
	<item>
		<title>Re: Jeffrey Van Gogh: Testing Rx with Pex</title>
		<description>
			<![CDATA[
<p>Hmmmmmm.....I believe that what has been implemented here is a step backwards from TDD.</p>
<p>In traditional TDD you write out your contract in human readable test names with human readable failure messages. When I go to read the unit tests for a class I can just collapse to definitions and just read the name of the tests. When the tests run and
 fail I can tell why. I imagine Zip2() is not a very helpful test name. Also I imagine&nbsp;maintaining&nbsp;the one large coupled Pex meta test method would be clumsy and easy to accidentally remove functionality.</p>
<p>&nbsp;</p>
<p>I would have thought a bunch of test methods like:</p>
<p>&nbsp;</p>
<p><pre class="brush: csharp">[TestMethod] public void Zip_method_with_uneven_inputs_will_have_length_of_shortest_input() {....} [TestMethod] public void Zip_method_invokes_combinator_function_with_index_equilvalent_values_from_inputs() {....} [TestMethod] public
 void Zip_method_yields_combinator_function_result() {....}</pre></p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p>still protects you from the implementation detail and is more explicit about the intention of the contract.</p>
<p>&nbsp;</p>
<p>My $0.02</p>
<p>Lee</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p>posted by LeeCampbell</p>]]>
		</description>
		<link>http://channel9.msdn.com/Blogs/Peli/Testing-Rx-with-Pex#c634120344250000000</link>
		<pubDate>Sun, 13 Jun 2010 14:00:25 GMT</pubDate>
		<guid isPermaLink="true">http://channel9.msdn.com/Blogs/Peli/Testing-Rx-with-Pex#c634120344250000000</guid>
		<dc:creator>LeeCampbell</dc:creator>
	</item>
</channel>
</rss>