Research
Security News
Threat Actor Exposes Playbook for Exploiting npm to Build Blockchain-Powered Botnets
A threat actor's playbook for exploiting the npm ecosystem was exposed on the dark web, detailing how to build a blockchain-powered botnet.
jasmine-node
Advanced tools
This node.js module makes the wonderful Pivotal Lab's jasmine (http://github.com/pivotal/jasmine) spec framework available in node.js.
Version 1.3.1 of Jasmine is currently included with node-jasmine.
--noStack
afterEach
is available in requirejs #179describe
blocks much more accurately!To install the latest official version, use NPM:
npm install jasmine-node -g
To install the latest bleeding edge version, clone this repository and check
out the beta
branch.
Write the specifications for your code in *.js and *.coffee files in the spec/ directory (note: your specification files must end with either .spec.js or .spec.coffee; otherwise jasmine-node won't find them!). You can use sub-directories to better organise your specs.
If you have installed the npm package, you can run it with:
jasmine-node spec/
If you aren't using npm, you should add pwd
/lib to the $NODE_PATH
environment variable, then run:
node lib/jasmine-node/cli.js
You can supply the following arguments:
--autotest
, provides automatic execution of specs after each change--coffee
, allow execution of .coffee specs--color
, indicates spec output should uses color to
indicates passing (green) or failing (red) specs--noColor
, do not use color in the output-m, --match REGEXP
, match only specs comtaining "REGEXPspec"--matchall
, relax requirement of "spec" in spec file names--verbose
, verbose output as the specs are run--junitreport
, export tests results as junitreport xml format--output FOLDER
, defines the output folder for junitreport files--teamcity
, converts all console output to teamcity custom test runner commands. (Normally auto detected.)--runWithRequireJs
, loads all specs using requirejs instead of node's native require method--requireJsSetup
, file run before specs to include and configure RequireJS--test-dir
, the absolute root directory path where tests are located--nohelpers
, does not load helpers--forceexit
, force exit once tests complete--captureExceptions
, listen to global exceptions, report them and exit (interferes with Domains in NodeJs, so do not use if using Domains as well--config NAME VALUE
, set a global variable in process.env--noStack
, suppress the stack trace generated from a test failureIndividual files to test can be added as bare arguments to the end of the args.
Example:
jasmine-node --coffee spec/AsyncSpec.coffee spec/CoffeeSpec.coffee spec/SampleSpecs.js
jasmine-node includes an alternate syntax for writing asynchronous tests. Accepting a done callback in the specification will trigger jasmine-node to run the test asynchronously waiting until the done() callback is called.
it("should respond with hello world", function(done) {
request("http://localhost:3000/hello", function(error, response, body){
expect(body).toEqual("hello world");
done();
});
});
An asynchronous test will fail after 5000 ms if done() is not called. This timeout can be changed by setting jasmine.DEFAULT_TIMEOUT_INTERVAL or by passing a timeout interval in the specification.
it("should respond with hello world", function(done) {
request("http://localhost:3000/hello", function(error, response, body){
done();
}, 250); // timeout after 250 ms
});
Checkout spec/SampleSpecs.js to see how to use it.
There is a sample project in /spec-requirejs
. It is comprised of:
requirejs-setup.js
, this pulls in our wrapper template (next)requirejs-wrapper-template
, this builds up requirejs settingsrequirejs.sut.js
, this is a __SU__bject To __T__est, something required by requirejsrequirejs.spec.js
, the actual jasmine spec for testingInstall the dependent packages by running:
npm install
Run the specs before you send your pull request:
specs.sh
Note: Some tests are designed to fail in the specs.sh. After each of the individual runs completes, there is a line that lists what the expected Pass/Assert/Fail count should be. If you add/remove/edit tests, please be sure to update this with your PR.
FAQs
DOM-less simple JavaScript BDD testing framework for Node
The npm package jasmine-node receives a total of 7,688 weekly downloads. As such, jasmine-node popularity was classified as popular.
We found that jasmine-node demonstrated a not healthy version release cadence and project activity because the last version was released a year ago. It has 3 open source maintainers 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
A threat actor's playbook for exploiting the npm ecosystem was exposed on the dark web, detailing how to build a blockchain-powered botnet.
Security News
NVD’s backlog surpasses 20,000 CVEs as analysis slows and NIST announces new system updates to address ongoing delays.
Security News
Research
A malicious npm package disguised as a WhatsApp client is exploiting authentication flows with a remote kill switch to exfiltrate data and destroy files.