source:
pyenvjasmine/README.rst@
26:14c16e5cbe03
| Last change on this file since 26:14c16e5cbe03 was 26:14c16e5cbe03, checked in by , 8 years ago | |
|---|---|
| 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 .
Note
More about the development mode here:
https://packaging.python.org/en/latest/distributing.html#working-in-development-mode
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
