Socket
Book a DemoInstallSign in
Socket

apc-test

Package Overview
Dependencies
Maintainers
2
Versions
7
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

apc-test

APC Test stack bundled into one package

latest
Source
npmnpm
Version
1.2.0
Version published
Weekly downloads
7
-12.5%
Maintainers
2
Weekly downloads
 
Created
Source

NPM Package License Build Status Coverage Status Maintainability Dependencies Dev Dependencies Greenkeeper badge

Jenkins Build Status

APC Test

Combined test dependencies for APC projects

  • Test runner: Mocha
  • Assertion library: Chai
  • Spies, stubs and mocks: Sinon
  • Mutation testing: Stryker
  • CI:
    • Travis
  • Reporters:
    • Coveralls
    • CodeClimate

About

This package provides a skeleton for JS unit testing, coverage and mutation testing. The provided config assumes files to be tested match src/**/*.js and test specs match test/**/*.spec.js but it should be straight forward to add more globs to your config.

Installation

npm install --save-dev apc-test

NPM Scripts

Copy these scripts into your package.json file. They are used by the build in Travis (see below)

  "test": "npm run lint && nyc mocha",
  "lint": "eslint *.js test/**/*.js src/**/*.js",
  "coverage": "nyc report --reporter=text-lcov | coveralls",
  "stryker": "stryker run"

Git Ignore

Copy the following into your gitignore:

# Logs
npm-debug.log*
yarn-debug.log*
yarn-error.log*

# Coverage directory used by tools like istanbul
coverage

# nyc test coverage
.nyc_output

# Dependency directories
node_modules/

# Optional npm cache directory
.npm

# Stryker reports and cache
.stryker-tmp
reports

NYC Config

Copy the following into a .nycrc file:

{
  "include": [ "src/**/*.js" ],
  "all": true,
  "watermarks": {
    "lines": [ 90, 99 ],
    "functions": [ 90, 99 ],
    "branches": [ 90, 99 ],
    "statements": [ 90, 99 ]
  },
  "reporter": [ "clover", "text", "text-summary", "html", "cobertura", "lcov" ],
  "cache": true
}

Or copy it cp node_modules/apc-test/.nycrc .

Stryker Config

Add the following to a stryker.conf.js file:

module.exports = config => {
  config.set({
    files: [
      {
        pattern: 'src/**/*.js',
        mutated: true,
        included: true
      },
      'test/**/*.js'
    ],
    testRunner: 'mocha',
    mutator: 'javascript',
    transpilers: [],
    reporter: ['html', 'clear-text', 'progress'],
    testFramework: 'mocha',
    coverageAnalysis: 'perTest'
  })
}

Or copy it cp node_modules/apc-test/.stryker.conf.js .

Travis YML

Add the following to a .travis.yml file:

language: node_js
node_js:
  - 'lts/*'
  - 'node'
after_script:
# Optionally run stryker in CI, although this currently isn't reported
# - npm run stryker
  - npm run coverage

Or copy it cp node_modules/apc-test/.travis.yml .

README Badges

Add the badge images and links to the top of your markdown file:

[![NPM Package][npm-badge]][npm-link] [![License][license-badge]][license-link] [![Build Status][travis-badge]][travis-link] [![Coverage Status][coveralls-badge]][coveralls-link] [![Maintainability][cc-badge]][cc-link] [![Dependencies][dm-badge]][dm-link] [![Dev Dependencies][dmdev-badge]][dmdev-link] [![Greenkeeper badge][gk-badge]][gk-link]

Add the links somewhere else in your markdown file. Replacing my-org-name and my-module-name.

[npm-badge]: https://img.shields.io/npm/v/my-module-name.svg?maxAge=30
[npm-link]:https://npmjs.com/package/my-module-name
[license-badge]: https://img.shields.io/npm/l/my-module-name.svg
[license-link]: https://github/my-org-name/my-module-name/blob/master/LICENSE
[travis-badge]: https://travis-ci.org/my-org-name/my-module-name.svg?branch=master
[travis-link]: https://travis-ci.org/my-org-name/my-module-name
[coveralls-badge]: https://coveralls.io/repos/github/my-org-name/my-module-name/badge.svg?branch=master
[coveralls-link]: https://coveralls.io/github/my-org-name/my-module-name?branch=master
[cc-badge]: https://img.shields.io/codeclimate/maintainability/my-org-name/my-module-name.svg
[cc-link]: https://codeclimate.com/github/my-org-name/my-module-name/maintainability
[dm-badge]: https://img.shields.io/david/my-org-name/my-module-name.svg
[dm-link]: https://david-dm.org/my-org-name/my-module-name
[dmdev-badge]: https://img.shields.io/david/dev/my-org-name/my-module-name.svg
[dmdev-link]: https://david-dm.org/my-org-name/my-module-name
[gk-badge]: https://badges.greenkeeper.io/my-org-name/my-module-name.svg
[gk-link]: https://greenkeeper.io/

Setting up 3rd party services

These steps assume a public github repo and public npm module.

APC Style

Recommended to be used with apc-style for linting of JS, SCSS and Pug files.

Keywords

test

FAQs

Package last updated on 22 Feb 2019

Did you know?

Socket

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.

Install

Related posts

SocketSocket SOC 2 Logo

Product

About

Packages

Stay in touch

Get open source security insights delivered straight into your inbox.

  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc

U.S. Patent No. 12,346,443 & 12,314,394. Other pending.