Navigation



For news about this project, please visit the blog.


VeriPyX: Integration Testing Framework

VeriPyX is an open source integration testing framework developed in Python and based on the idea of configuring test definitions as XML documents.

The framework's most important features are:

  • It is oriented towards testing free standing executables such as command line tools.
  • It allows for quite complex pre-test setup and post-test validation.
  • It is oriented towards test steps that consume and/or generate files, and need the generated files (including standard output and error) to be validated.
  • Test definitions are expressed in XML, making tests easier to pre-validate allowing you to use standard tools for finding, organizing and transforming tests.

License

VeriPyX is distributed under an Apache 2.0 License.

Example

This example shows the structure of a test description, divided into setup, body and validate sections.
TestValidate.xml
<test>
  <setup>    
    <copy dir="${root}/data/TestValidate/Store" />
  </setup>
  <exec 
    command="Store.py -s Store -f ne > find_result.txt">
    <expected status="0" />
  </exec>
  <validate>
    <exec command="sort find_result.txt" >
      <expected status="0" 
        out="TestValidate-expected-out.txt"/>          
    </exec>
  </validate>
</test>

Release 1.0.0 (June 5, 2010)

Initial release, oriented towards testing command line tools.

System requirements

  • Python 2.6 or later
  • The lxml Library, version 2.2 or later (which you need to download separately)

Installation

Download either a .zip file for Windows or a .tar.gz file for Unix, and unpack in the location of your choice. The package consists of the following subdirectories:
  • doc: The user guide and tutorial.
  • examples: The example test suite from the tutorial.
  • schema: The XML schema documents for test suite and test definitions.
  • src: The Python source for VeriPyX -- invoke RunSuite.py to run tests.
Download links are to the right.