<?xml version="1.0" encoding="UTF-8"?>
<wiki>
  <body>&lt;h1&gt;Introduction&lt;/h1&gt;
&lt;p&gt;Snap (SnapTest, Snap Test, ST) was designed initially by someone who didn&amp;#8217;t like unit tests, but understood how important they were.  With the advent of &lt;span class=&quot;caps&quot;&gt;PHP&lt;/span&gt; 5, it became clear that some of the existing projects for &lt;span class=&quot;caps&quot;&gt;PHP&lt;/span&gt; based unit testing needed overhauls. With the new reflection utilities, it became possible to build out unit tests quickly and effectively. It also doesn&amp;#8217;t hurt that by making the authoring of tests simpler, people were more likely to do them.&lt;/p&gt;
&lt;h1&gt;What am I Looking For?&lt;/h1&gt;
&lt;ul&gt;
	&lt;li&gt;[[Quick Start]] &amp;#8211; how to use SnapTest in 3 easy steps&lt;/li&gt;
	&lt;li&gt;[[SnapTest Requirements]] &amp;#8211; what you need to run SnapTest&lt;/li&gt;
	&lt;li&gt;Running SnapTest
	&lt;ul&gt;
		&lt;li&gt;[[SnapTest Command Line]] &amp;#8211; how to run SnapTest from a command line&lt;/li&gt;
		&lt;li&gt;[[SnapTest Web Interface]] &amp;#8211; how to run SnapTest from within a browser&lt;/li&gt;
	&lt;/ul&gt;&lt;/li&gt;
	&lt;li&gt;[[Roadmap and Changelog]] &amp;#8211; upcoming features and bugfix notes&lt;/li&gt;
	&lt;li&gt;Unit Tests
	&lt;ul&gt;
		&lt;li&gt;[[Base Unit Test Class]] &amp;#8211; a basic test case, where it all starts&lt;/li&gt;
		&lt;li&gt;[[Assertion Reference]] &amp;#8211; a guide to all the various assertions&lt;/li&gt;
		&lt;li&gt;[[Special Assertions]] &amp;#8211; testing for known exceptions, php errors, and not finished things&lt;/li&gt;
	&lt;/ul&gt;&lt;/li&gt;
	&lt;li&gt;Mock Objects
	&lt;ul&gt;
		&lt;li&gt;[[Mock Objects]] &amp;#8211; an introduction to Snap Mock Objects and construction syntax, how to use Mock Objects as actors and critics.&lt;/li&gt;
	&lt;/ul&gt;&lt;/li&gt;
	&lt;li&gt;Advanced Unit Testing Strategies
	&lt;ul&gt;
		&lt;li&gt;[[Mocking Static Classes]] &amp;#8211; how to mock a static class, techniques for mock injection&lt;/li&gt;
		&lt;li&gt;[[Expectations Reference]] &amp;#8211; a guide to expectations you can pass into mock object methods&lt;/li&gt;
	&lt;/ul&gt;&lt;/li&gt;
	&lt;li&gt;Loaders and Reporters
	&lt;ul&gt;
		&lt;li&gt;[[Loader Classes]] &amp;#8211; specialized loader classes, extending the load process&lt;/li&gt;
		&lt;li&gt;[[Reporter Classes]] &amp;#8211; specialized reporting classes, extending the output phase&lt;/li&gt;
	&lt;/ul&gt;&lt;/li&gt;
	&lt;li&gt;[[Extending SnapTest With Addons]] &amp;#8211; using addons to provide custom mocking utilities&lt;/li&gt;
	&lt;li&gt;Contributor Information
	&lt;ul&gt;
		&lt;li&gt;[[Contribution Guidelines]] &amp;#8211; how to get involved with the project and submit code&lt;/li&gt;
		&lt;li&gt;[[Contributor List]] &amp;#8211; people who have contributed to SnapTest&lt;/li&gt;
	&lt;/ul&gt;&lt;/li&gt;
&lt;/ul&gt;</body>
  <created-at type="datetime">2009-11-26T01:16:56-08:00</created-at>
  <id type="integer">270437</id>
  <permalink>table-of-contents</permalink>
  <repository-id type="integer">1880</repository-id>
  <title>Table of Contents</title>
  <updated-at type="datetime">2009-07-19T16:39:52-07:00</updated-at>
  <user-id type="integer">1795</user-id>
</wiki>
