jest-environment-ui5
v0.2.4
Published
jest testing environment for UI5
Maintainers
Readme
jest-environment-ui5
A Jest Test Environment for unit testing UI5 code. Run your unit tests in a blazing fast way! Neither webserver nor browser are required. It runs in Node.js and uses jsdom to emulate browser environment.
See Jest Test Environment and jsdom for more details.
Installation
Install jest-environment-ui5, and jest, as devDependencies:
$ npm i -D jest jest-environment-ui5Setup
Jest uses node as default test environment. In order to change it to a different environment, jest-environment-ui5, we will either have to define it in jest.config.js or add a Jest Test Environment docblock at the top of the test file. See Jest Config for more details.
jest-environment-ui5 builds jsdom from a local HTML file, no webserver required. The HTML file should contain the UI5 bootstrap, similar to this one: ui5 bootstrap.
You can change the UI5 bootstrap configuration as you wish, just like in your webapp. You can even open the file in a browser to see UI5 being loaded. However, no tests will be executed.
jest Configuration
import type {Config} from 'jest';
const config: Config = {
testEnvironment: "ui5",
testEnvironmentOptions: {
ui5: {
path: "test/ui5-unit-test.html", // Path to the HTML file containing UI5 bootstrap
timeout: 200, // UI5 load timeout in ms, default is 100ms
},
},
};jest DocBlock
/**
* @jest-environment ui5
* @jest-environment-options { "path": "test/ui5-unit-test.html" }
*/
test("UI5 is loaded", () => {
expect(window.sap).toBeTruthy();
expect(sap).toBeTruthy();
expect(sap.ui.getCore()).toBeTruthy();
expect(sap.ui.version).toBeTruthy();
});Run
Run the tests with Jest CLI:
$ jestDon't be afraid
jsdom is not a real browser, but gets the job done for unit testing. All major javascript frameworks use it today: React, Vue, Svelte, and even our old friend jQuery. It has over 20M weekly downloads in NPM!
Author
Mauricio Lauffer
License
This project is licensed under the MIT License - see the LICENSE file for details.
