<p>I'm writing a tool to run a series of integration tests on my product. It will install it and then run a bunch of commands against it to make sure its doing what it is supposed to. I'm exploring different options for how to markup the commands for each test case and wondering if folks had insight to share on this. I'm thinking of using YAML and doing something like this (kinda adapted from rails fixtures): </p>

<pre><code>case:
    name: caseN
    description: this tests foo to make sure bar happens
    expected_results: bar should happen
    commands: |
        command to run
        next command to run
    verification: command to see if it worked
</code></pre>

<p>Does anyone have another, or better idea? Or is there a domain specific language I'm unaware of? </p>

[{'answer_id': 41848, 'author': 'Hank Gay', 'author_id': 4203, 'author_profile': 'https://Stackoverflow.com/users/4203', 'pm_score': 1, 'selected': False, 'text': '<p>You might want to check out <a href="http://www.cpan.org/" rel="nofollow noreferrer">CPAN</a>. It does for Perl scripts exactly what it sounds like your utility will do for your app.</p>\n'}, {'answer_id': 41947, 'author': 'Rob Wells', 'author_id': 2974, 'author_profile': 'https://Stackoverflow.com/users/2974', 'pm_score': 3, 'selected': True, 'text': '<p>Go and have a look at the XUnit suite of test tools. This framework was originally designed for Smalltalk by Kent Beck and, I think, Erich Gamma, and it has now been ported to a whole stack of other languages, e.g. <a href="http://cunit.sourceforge.net/" rel="nofollow noreferrer">CUnit</a></p>\n'}, {'answer_id': 82285, 'author': 'Željko Filipin', 'author_id': 17469, 'author_profile': 'https://Stackoverflow.com/users/17469', 'pm_score': 1, 'selected': False, 'text': '<p>Did you take a look at <a href="http://rspec.info/" rel="nofollow noreferrer">RSpec</a>?</p>\n'}]
['https://Stackoverflow.com/questions/41839', 'https://Stackoverflow.com', 'https://Stackoverflow.com/users/511/']