corejet.core

Defines test infrastructure for building CoreJet tests
Download

corejet.core Ranking & Summary

Advertisement

  • Rating:
  • License:
  • ZPL
  • Publisher Name:
  • Martin Aspeli
  • Publisher web site:
  • http://plone.org/support

corejet.core Tags


corejet.core Description

Defines test infrastructure for building CoreJet tests CoreJet is a Behaviour Driven Testing specification and approach, with implementations in Python and Java. See http://corejet.org for more details.corejet.core provides core CoreJet functionality in Python. You will probably also be interested in corejet.testrunner and possibly corejet.jira.Why not Cucumber?There are various packages that implement a similar style of BDD testing in Python, usually based on Cucumber. CoreJet has one important philosophical difference: Instead of writing stories and scenarios in plain text files, they are intended to be managed as part of a requirements management system such as JIRA (hence corejet.jira). This manages epics, stories and scenarios, as well as the lifecycle and metadata surrounding requirements: whether they are open or closed, how big (in story points) they are, and how valuable they are to business users (priority).A "requirements catalogue source" extracts them from this system into either an intermediary XML format (see below) or directly into the CoreJet data model (again, see below). The test runner (corejet.testrunner) first fetches the current requirements catalogue, then executes all CoreJet tests, matching up stories (by id) and scenarios (by name) and setting the status of each to either "pass", "fail", "pending" (not yet implemented) or "mismatch" (a given/when/then step in a scenario is out of sync with the requirements management system).The output of this analysis is written to an augmented CoreJet XML file. This is then used to generate a visualisation of the state of the project (see corejet.visualization), with colour coding to indicate how much of the project is in fact complete, where "complete" means it has passing automated tests that accurately represent the business' acceptance criteria.Installation:You can install corejet.core as a dependency of your package, e.g. in setup.py adding:install_requires=or, if you prefer to keep your tests in an extra:extras_require = {'test': }Note however that corejet.core relies on the lxml library. This is sometimes a bit tricky to install on OS X and older Linux platforms. If you are using Buildout to install your packages, you may want to use z3c.recipe.lxml to install lxml: Add lxml as the first item in your parts list and then add this section:recipe = z3c.recipe.staticlxmlegg = lxml Requirements: · Python What's New in This Release: · Ensure multiple steps of the same type always execute in the right sequence.


corejet.core Related Software