Socket
Book a DemoInstallSign in
Socket

mocha-stackdriver-reporter-stats

Package Overview
Dependencies
Maintainers
1
Versions
2
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

mocha-stackdriver-reporter-stats

Mocha reporter to log test results and stats with Google Cloud Logging API

0.0.2
latest
Source
npmnpm
Version published
Weekly downloads
2
Maintainers
1
Weekly downloads
 
Created
Source

Mocha Stackdriver Reporter w/ Stats

Mocha reporter using the Google Cloud Logging API with additional stats.

Originally a fork of mocha-stackdriver-reporter and full credit to the original author, whose work I have and will continue to build on.

Note: this was developed for usage with Cypress, so YMMV.

Install

npm install mocha-stackdriver-reporter-stats --save-dev

Options

  • projectId: Google Cloud Project ID.
  • logName: Log identifier; gets merged with projectId into e.g. projects/test123/logs/my-function%2Fwith-name. Note how last part is URL encoded. This is automatically taken care when using a logName with / in the name, e.g. my-function/with-name.
  • entryMetadata: Metadata for log entries.
  • stats: An array of which of the stats from Mocha's stats collector you wish to include (if not specified, it will return all of them)
  • alsoConsole || onlyConsole || alsoFile || onlyFile: Write output to/only to console or file (file includes all data from the reporter config for Stackdriver logging)
  • noCloud: For when you're testing, or if you want to run this with onlyFile/alsoFile and combined with the mocha-stackdriver-merge module to report all tests (and not just a single spec) back jointly (inspired by mochawesome-merge )

CLI

Run mocha with reporter configured:

mocha --reporter mocha-stackdriver-reporter-stats --reporter-options projectId=myGcpProjectId,logName=myLogName

Entry metadata can be set with environment variable ENTRY_METADATA:

ENTRY_METADATA='{ "resource": { "labels": { "function_name": "my-cloud-function", "project_id": "my-project-id", "region": "my-region" }, "type": "cloud_function" } }' \
mocha --reporter mocha-stackdriver-reporter-stats --reporter-options projectId=my-project-id,logName=my-log-name

Code

const Mocha = require("mocha");
const StackdriverReporter = require("mocha-stackdriver-reporter");

const mocha = new Mocha();

mocha.reporter(StackdriverReporter, {
  projectId: "my-project-id",
  logName: "my-log-name",
  entryMetadata: {
    resource: {
      labels: {
        function_name: "my-cloud-function",
        project_id: "my-project-id",
        region: "my-region",
      },
      type: "cloud_function",
    },
  },
  stats: ["suites", "tests", "passes", "pending", "failures", "start", "end", "duration"],
  alsoConsole: false, // (optional) if true, also output result to console
  onlyConsole: false, // (optional) if true, only output result to console
  alsoFile: false, // (optional) if true, also output result to file
  onlyFile: false, // (optional) if true, only output result to file (will be overridden by onlyConsole)
  reportDir: "reports/stackdriver-reporter", // This will not be created for you. Calling alsoFile or onlyFile without this option will result in an error on reporting
  noCloud: false // (optional) if true, do not output results to Stackdriver
});

Keywords

mocha

FAQs

Package last updated on 12 Mar 2021

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.