Skip to content

How to Create Jest Test Cases


Jest is a testing framework created by Facebook and currently used as the default testing framework in create-react-app . Unlike Mocha, it is an opinionated test runner and provides its own assertion and mocking methods. The main advantage is that it runs out-of-the-box and has good integration with technologies like React, Babel or Typescript.


All dependencies can be installed just by running:

npm install

Creating a Test Case


Tests should be placed in web-test folder, and files should have the suffix .test.js .

This is a valid path for a test class:


Now you can require() your subject under test and start creating test cases. See Jest documentation for reference.

Sample test file

describe('org.openbravo.client.application - OB.Utilities.Date', () => {
  beforeEach(() => {
    // Execute this before each test
  afterEach(() => {
    // Execute this after each test
  it('The year where we should change century in 2 digits year format is 50', () => {
  // Describe blocks can be nested to group test cases
  describe('OB.Utilities.Date.normalizeDisplayFormat', () => {
    it('function works', () => {
      const normalizedFormat = OB.Utilities.Date.normalizeDisplayFormat('DD-MM-YYYY');
    it('function works with other input', () => {
      const normalizedFormat = OB.Utilities.Date.normalizeDisplayFormat('DD-MM-YY');

Run tests/coverage

To run all unit tests available in an Etendo instance (both Core and all installed modules), run the following command:

npm test

Testing can be limited to a particular module adding the path at the end of the command:

npm test modules/com.etendoerp.mymodule/

If, along with the test, you want to see a coverage report, run:

npm run coverage

This work is a derivative of How to Create Jest testcases by Openbravo Wiki, used under CC BY-SA 2.5 ES. This work is licensed under CC BY-SA 2.5 by Etendo.