source: pyenvjasmine/README.rst@ 39:5d55c193d904

Last change on this file since 39:5d55c193d904 was 26:14c16e5cbe03, checked in by Borja Lopez <borja@…>, 3 years ago

Replaced nose with py.test and adapted all existing tests

File size: 2.0 KB

Python envjasmine wrapper

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

Installation

You can install pyenvjasmine using pip:

pip install pyenvjasmine

Or you can grab the latest sources and install it from there:

python setup.py install

Also, you can use it directly from the sources directory, in development mode (useful if you want to contribute to the project):

pip install -e .

Running pyenvjasmine tests

To run the tests on this code here (as opposed to your JavaScript code you want to test), install pyenvjasmine and then run:

py.test

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 pytest
from pyenvjasmine.runner import Runner

class TestJavaScript(object):
    def test_my_javascript(self):
        runner = Runner(
            testdir='/path/to/my/testdir',
            configfile='relative/path/to/configfile')
        success, stdout = runner.run()
        # assert on success, will be true if tests passed, False if any
        # test failed
        assert success
        # you can inspect stdout if you want to get more info, but it
        # will be printed to the console stdout anyway
        assert b'Total: 120' in stdout
Note: See TracBrowser for help on using the repository browser.