3.0.0 • Published 2 years ago

ui5-middleware-code-coverage v3.0.0

Weekly downloads
17
License
MIT
Repository
github
Last release
2 years ago

ui5-middleware-code-coverage

**Deprecated, check out ui5-middleware-code-coverage-advanced instead A code coverage instrumenter for UI5-tooling

Middleware for ui5-server, enabling code coverage.

This is a wrapper for the NYC-Middleware.

Install

npm install ui5-middleware-code-coverage --save-dev

Configuration options (in $yourapp/ui5.yaml)

  • baseUri: string the baseUri to proxy

Usage

  1. Define the dependency in $yourapp/package.json:
"devDependencies": {
    "ui5-middleware-code-coverage": "*"
},
"ui5": {
  "dependencies": [
    "ui5-middleware-code-coverage"
  ]
}

As the devDependencies are not recognized by the UI5 tooling, they need to be listed in the ui5 > dependencies array. In addition, once using the ui5 > dependencies array you need to list all UI5 tooling relevant dependencies.

  1. configure it in $yourapp/ui5.yaml:
server:
  customMiddleware:
  - name: ui5-middleware-code-coverage
    afterMiddleware: compression
    mountPath: /
    configuration:
      path: "webapp"
      enabled: "false"
      exclude: "test,resources"

The path is which folder you want to cover. The enabled is whether you want to switch the coverage on or off. Handy when you are doing development as the instrumented code is a bit messy.

The exclude is if you want to exclude any folders from the code coverage, such as the test folder. This feature is optional

How it works

The middleware will launch another express nodejs server that will act as a collector and instrumenter for your code. The path in the yaml configuration tells the package which folder and subsequent JS files needs to be instrumented for code coverage.

The coverage is stored in your browser session in the window.__coverage__ object. You can use this plugin together with Selenium and after execution of your scripts submit the code coverage or you can simply use it manually and after your testing submit the coverage to the server using below snippet.

$.ajax({
  type: "POST",
  url: 'http://localhost:3000/coverage/client',
  data: JSON.stringify(window.__coverage__),
  headers: {
    'Accept': 'application/json',
    'Content-Type': 'application/json'
}
});

The Coverage service

The above snippet adds the following endpoints to your app under /coverage

3.0.0

2 years ago

2.0.5

2 years ago

2.0.4

2 years ago

2.0.6

2 years ago

2.0.3

3 years ago

2.0.1

3 years ago

2.0.0

3 years ago

0.0.14

4 years ago

0.0.13

4 years ago

0.0.12

4 years ago

0.0.11

4 years ago

0.0.10

4 years ago

0.0.9

4 years ago

0.0.8

4 years ago

0.0.6

4 years ago

0.0.3

4 years ago

0.0.2

4 years ago

0.0.1

4 years ago