<p>Looking to get your take on an automated testing tool (voting should bring good ones to the top)</p>

<p>Ideal tool would:</p>

<ul>
<li>Eliminate the need to present a set
of values to a method. </li>
<li>employ techniques such as Interactive
Exploratory Testing where the code
is examined to determine what values
are required to exercise all code
paths.  i.e. the unit tests for a method is determined by the complexity of the code</li>
</ul>

<p>For example, if a method checks that an integer argument is 123, at least 2 unit tests are generated: one where that argument is 123 and one where it is not.</p>

<p>For Java my understanding is these are some options but not .NET</p>

<ul>
<li>TestGen4J</li>
<li>AgitarOne</li>
</ul>

<p>Have heard of Pex - For .NET from Microsoft Research but this has a non-commercial license</p>

<p>Thanks</p>

[{'answer_id': 47164, 'author': 'Phil Bennett', 'author_id': 2995, 'author_profile': 'https://Stackoverflow.com/users/2995', 'pm_score': 2, 'selected': False, 'text': '<p>I\'ve tried some of these tools in other languages and IMHO they are almost a complete waste of time.  Reason?  They can\'t guess at the semantics of a method call in any meaningful way.  There\'s a very good article about this <a href="http://blog.objectmentor.com/articles/2008/01/10/generated-tests-and-tdd" rel="nofollow noreferrer">here</a> -- well worth a read.</p>\n'}, {'answer_id': 78438, 'author': 'Peli', 'author_id': 14403, 'author_profile': 'https://Stackoverflow.com/users/14403', 'pm_score': 2, 'selected': False, 'text': '<p>Pex enables parameterized unit testing and uses dynamic symbolic execution (some kind of automated exploratory testing) to generate inputs. Pex can understand the semantics of MSIL, i.e. of any managed method call. In the \'123\' example, Pex would find both tests.</p>\n\n<p>It lets developers write <em>parameterized</em> unit tests - so it totally fits in a test-first development style.</p>\n\n<p>For commercial software, Pex requires an MSDN license. More info at <a href="http://research.microsoft.com/pex" rel="nofollow noreferrer">http://research.microsoft.com/pex</a></p>\n\n<p>a pex developer :)</p>\n'}, {'answer_id': 30684928, 'author': 'mernst', 'author_id': 173852, 'author_profile': 'https://Stackoverflow.com/users/173852', 'pm_score': 0, 'selected': False, 'text': '<p>Another good tool that automatically generates unit tests is Randoop.</p>\n\n<p>Randoop is available for Java (<a href="http://mernst.github.io/randoop/" rel="nofollow">http://mernst.github.io/randoop/</a>) and for .NET (<a href="https://github.com/abb-iss/Randoop.NET" rel="nofollow">https://github.com/abb-iss/Randoop.NET</a>).</p>\n\n<p>Randoop has found previously unknown errors in widely-used libraries including Sun and IBM\'s JDKs and in core Microsoft .NET components.</p>\n'}]
['https://Stackoverflow.com/questions/46501', 'https://Stackoverflow.com', 'https://Stackoverflow.com/users/4811/']