source: pyenvjasmine/README.rst@ 3:a681a8b3bda3

Last change on this file since 3:a681a8b3bda3 was 3:a681a8b3bda3, checked in by Borja Lopez <borja@…>, 10 years ago

Added .hgignore file

File size: 1.8 KB

Python envjasmine wrapper

This is a thin python wrapper around the envjasmine JavaScript testing framework.

Running the tests of this python module:

To run the tests on this code here (as opposed to your JavaScript code you want to test), install this into a virtualenv, install nose and maybe coverage in that virtualenv and then run:

nosetests --cover-package=pyenvjasmine --cover-erase \
--with-coverage --with-doctest $*

Run your own tests

The easiest way is to put your "specs" (JavaScript tests) into some directory in your code, then in your python tests, add a new TestCase with just one test that runs all your JavaScript tests.

The simplest solution is to set capture_output to False, so you see the output from the js tests on the console. Something like this:

import unittest
from pyenvjasmine.runner import TestRunner

class JavaScriptTests(unittest.TestCase):
    def test_my_javascript(self):
        runner = TestRunner(
                  testdir='/path/to/my/testdir',
                  configfile='relative/path/to/configfile')
        runner.run(capture_output=False)

If you want a more integrated test control, you could set capture_output to True, then parse the test output that is returned from the run() method, with something like this:

def test_my_javascript_no_output(self):
    runner = TestRunner(
              testdir='/path/to/my/testdir',
              configfile='relative/path/to/configfile')
    res = runner.run(capture_output=True)
    lines = res.splitlines()
    self.assertTrue('Failed: 0' in lines)
Note: See TracBrowser for help on using the repository browser.