Metadata-Version: 1.1
Name: hitchtest
Version: 0.7.4
Summary: Declarative test runner using YAML and jinja2.
Home-page: https://hitch.readthedocs.org/
Author: Colm O'Connor
Author-email: colm.oconnor.github@gmail.com
License: AGPL
Description: HitchTest
        =========
        
        HitchTest is a part of the hitch testing framework which compiles and runs
        YAML (and optionally jinja2) tests like this::
        
            {% extends "base.yml" %}
            {% block test %}
            - engine: engine.py:DjangoReminderTestExecutionEngine
              name: Sign up, create reminder and wait for email reminder to arrive in python {{ python_version }}
              preconditions:
                python_version: "{{ python_version }}"
              scenario:
                - Load website
                - Click: register
                - Fill form:
                    id_username: django
                    id_email: django@reinhardt.com
                    id_password1: jazzguitar
                    id_password2: jazzguitar
                - Click submit
                - Click: create
                - Fill form:
                    id_description: Remind me about upcoming gig.
                    id_when: 30 days
                - Click: create
                - Wait for email:
                    Containing: Confirm E-mail Address
                - Confirm emails sent: 1
                - Time travel:
                    Days: 30
                - Wait for email:
                    Containing: Remind me about upcoming gig.
            {% endblock %}
        
        
        There is no magic here. Each of these steps calls a python method,
        defined by you in the specified execution engine class, like so:
        
        .. code-block:: python
        
            def click(self, on):
                """Click on HTML id."""
                self.driver.find_element_by_id(on).click()
        
        
        
        Features
        ========
        
        * Integrates with IPython.
        * Pretty stacktraces and test results.
        * Quiet mode.
        * Integrated and easily overriden test settings.
        
        
        Why YAML + Jinja2?
        ==================
        
        This is to more easily maintain separation of concerns. Enforcing the use
        of YAML keeps the test scripts declarative, and all of the execution
        code is kept centralized in the engine.
        
        This also makes reading, writing, adding metadata to and and parsing
        test cases much easier.
        
        Combining YAML with jinja2 gives you the power to deduplicate
        test case code while still maintaining comprehensibility and simplicity.
        
Keywords: hitch testing framework bdd tdd declarative tests testing jinja2 yaml
Platform: UNKNOWN
Classifier: Development Status :: 3 - Alpha
Classifier: Intended Audience :: Developers
Classifier: License :: OSI Approved :: GNU Affero General Public License v3 or later (AGPLv3+)
Classifier: Topic :: Software Development :: Quality Assurance
Classifier: Topic :: Software Development :: Testing
Classifier: Topic :: Software Development :: Libraries
Classifier: Operating System :: Unix
Classifier: Environment :: Console
Classifier: Programming Language :: Python :: 2
Classifier: Programming Language :: Python :: 2.6
Classifier: Programming Language :: Python :: 2.7
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.4
