Research
Security News
Malicious npm Packages Inject SSH Backdoors via Typosquatted Libraries
Socket’s threat research team has detected six malicious npm packages typosquatting popular libraries to insert SSH backdoors.
jasmine-dom
Advanced tools
Run your browser-based jasmine specs headless with node.js. Then output in one of many formats such as JSON or JUnit XML (perfect for integration with CI servers like Jenkins).
npm install -g jasmine-dom
Construct your SpecRunner.html as shown in the jasmine examples, then run:
jasmine-dom --runner path/to/SpecRunner.html
or
jasmine-dom --config path/to/config.yaml
You can optionally provide the following arguments:
--help
, provides usage information--format simple|detailed|nice|json|html|junit
, displays the result in the specified format--output path
, writes the output to the specified file--server [port]
, serves a simple (but effective) page showing the current state
of the tests. You can also specify an optional --refresh
intervalInMS
argument to specify the wait between running
the tests (because the server is constantly running 'em).--routeconsole
, calls to window.console.log (or error, warn, info) within the tests / tested code
will be displayed in the terminal outputjasmine-dom --runner examples/runner.html --server 8090 --refresh 3000
will run a server on http://localhost:8090/. Here a simple green or red page will reflect the current state of your tests. The tests will run every 3000ms, and the page ajaximatically updates with the result.
If you'd like to see the default jasmine html, visit http://localhost:8090/jasmine. Note, the result is still obtained via the nodejs runner (i.e. it wasn't run in your browser).
A single runner file can be provided via the --runner <path_to_runner>
command. To specify more than one
runner, use the --config <path_to_config>
argument and a yaml config file in the format:
---
test_one:
name: This is the name of the first set of tests
runner: path/to/runner_1.html
test_two:
name: This is the name of the second set of tests
runner: path/to/another/runner.html
The config file allows you to provide names for your runners. These names will be used when identifying failing tests.
jasmine-dom --runner examples/runner.html
will output:
Failed.
jasmine-dom --runner examples/runner.html --format junit --output javascript_results.xml
will write to javascript_results.xml:
<testsuite>
<testcase classname="/Users/andrew/development/node-jasmine-dom/examples/runner.html.Example_functions_that_update_the_DOM.Should_add_two_numbers" name="expect toEqual 7" time="undefined"/>
<testcase classname="/Users/andrew/development/node-jasmine-dom/examples/runner.html.Example_functions.Should_multiply_two_numbers" name="expect toEqual 40" time="undefined"/>
<testcase classname="/Users/andrew/development/node-jasmine-dom/examples/runner.html.Example_functions.Should_fail!!" name="expect toEqual 8">
<failure>
<![CDATA[
FAILURE in spec "Should fail!!": Expected 3 to equal 8.
Error: Expected 3 to equal 8.
at new <anonymous> (/Users/andrew/development/node-jasmine-dom/examples/tests/lib/jasmine.js:94:50)
at [object Object].toEqual (/Users/andrew/development/node-jasmine-dom/examples/tests/lib/jasmine.js:1138:29)
at [object Object].<anonymous> (/Users/andrew/development/node-jasmine-dom/examples/tests/spec/example-functions_spec.js:10:13)
at [object Object].execute (/Users/andrew/development/node-jasmine-dom/examples/tests/lib/jasmine.js:968:15)
at [object Object].next_ (/Users/andrew/development/node-jasmine-dom/examples/tests/lib/jasmine.js:1739:31)
at [object Object].start (/Users/andrew/development/node-jasmine-dom/examples/tests/lib/jasmine.js:1692:8)
at [object Object].execute (/Users/andrew/development/node-jasmine-dom/examples/tests/lib/jasmine.js:2018:14)
at [object Object].next_ (/Users/andrew/development/node-jasmine-dom/examples/tests/lib/jasmine.js:1739:31)
at [object Object].start (/Users/andrew/development/node-jasmine-dom/examples/tests/lib/jasmine.js:1692:8)
at [object Object].execute (/Users/andrew/development/node-jasmine-dom/examples/tests/lib/jasmine.js:2163:14)
]]>
</failure>
</testcase>
</testsuite>
jasmine-dom --config ./examples/config.yaml --format nice
with ./examples/config.yaml:
---
test_one:
name: Example test one
runner: ./runner.html
test_two:
name: Example test two
runner: ./runner2.html
will output:
====== FAILED ======
- In A suite that fails >> Example functions (should fail) >> Should fail!! :: Expected 3 to equal 8.
jasmine-dom --config ./examples/config.yaml --format detailed
will output:
====== FAILED ======
Example functions (should fail) - 2 tests
PASSES
- Should multiply two numbers
FAILURES
- Should fail!!
[Expected 3 to equal 8.]
Example functions that update the DOM - 2 tests
PASSES
- Should add two numbers
- Should divide two numbers
FAILURES
(none)
====== FAILED ======
0.3.0 - 22-12-2012 - Added 'detailed' report format. Made examples a bit clearer.
It's provided a lot of inspiration for this project, and may be just what you're looking for. If you're not reliant on a DOM, then it's worth checking out.
FAQs
Run your jasmine html SpecRunner in node.js.
We found that jasmine-dom demonstrated a not healthy version release cadence and project activity because the last version was released a year ago. It has 1 open source maintainer collaborating on the project.
Did you know?
Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.
Research
Security News
Socket’s threat research team has detected six malicious npm packages typosquatting popular libraries to insert SSH backdoors.
Security News
MITRE's 2024 CWE Top 25 highlights critical software vulnerabilities like XSS, SQL Injection, and CSRF, reflecting shifts due to a refined ranking methodology.
Security News
In this segment of the Risky Business podcast, Feross Aboukhadijeh and Patrick Gray discuss the challenges of tracking malware discovered in open source softare.