Skip to main content

Open End JavaScript testing and utility kit

Project description

jskit contains infrastructure and in particular a py.test plugin to enable running tests for JavaScript code inside browsers directly using py.test as the test driver. Running inside the browsers comes with some speed cost, on the other hand it means for example the code is tested against the real-word DOM implementations.

The approach also enables to write integration tests such that the JavaScript code is tested against server-side Python code mocked as necessary. Any server-side framework that can already be exposed through WSGI (or for which a subset of WSGI can be written to accommodate the jskit own needs) can play along.

jskit has also some support to run JavaScript tests from unittest.py based test suites.

jskit also contains code to help modularizing JavaScript code which can be used to describe and track dependencies dynamically during development and that can help resolving them statically when deploying/packaging.

jskit requires Python 2.6 or 2.7. It also uses MochiKit - of which it ships a version within itself for convenience - for its own working though in does not imposes its usage on tested code.

It doesn’t work yet with py.test 2.0, but requires py.test 1.3.4!

jskit was initially developed by Open End AB and is released under the MIT license.

rest of the docs…

Europython 2009 talk with examples

The project repository lives at http://bitbucket.org/pedronis/js-infrastructure/

Discussions and feedback should go to py-dev at codespeak.net

Changelog

0.8.9

  • optionally delegate to the serverSide how the baseurl from which tests will be served should look like, useful when doing proxying for functional testing abuse of oejskit

  • change packaging to just offer a source tar file, so that makes it easier to package

  • requires Python 2.6 or 2.7

0.8.8

  • improved code to check for the presence of browsers which is used to skip tests, this means that listing non-present browsers in browser specs should not provoke problems

  • workaround to bug in FF3.5 triggered by the global var leak detection code, no leak detection with FF3.5 :(

0.8.7

  • flexible user-defined-name=commandline control over browser names for browser.py server with documentation

  • document the glue to standard library unittest.py

  • better error reporting when a browser cannot be started

  • use json module included in Python >=2.6, simplejson otherwise

  • move the py.test plugin into the oejskit package, expose it through a pytest11 setuptools entry point

  • fix own-tests-only issues and warnings with py.test 1.1.x

0.8.6

  • fixes for py.test 1.0 final compatibility

  • experimental glue to standard library unittest.py (no docs yet)

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

oejskit-0.8.9.tar.gz (1.8 MB view details)

Uploaded Source

File details

Details for the file oejskit-0.8.9.tar.gz.

File metadata

  • Download URL: oejskit-0.8.9.tar.gz
  • Upload date:
  • Size: 1.8 MB
  • Tags: Source
  • Uploaded using Trusted Publishing? No

File hashes

Hashes for oejskit-0.8.9.tar.gz
Algorithm Hash digest
SHA256 a384f9026bbac1bb141e95a9b961aeab96dbd73fd1080b13159bbf4aa94b080b
MD5 b379aaa2375c654bbb081160220bbf62
BLAKE2b-256 006bc50b9d60759432224ad925f13c1685390788594a636b5d48b6adc626dad0

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page