11.1.0 • Published 17 days ago

aft-jest-reporter v11.1.0

Weekly downloads
-
License
MIT
Repository
github
Last release
17 days ago

AFT-Jest-Reporter

a Jest Reporter integration for AFT providing support for AFT plugins, configuration and helpers

Installation

> npm i aft-jest-reporter

Jest Configuration

using this Reporter requires either calling the jest command with the following argument --reporters"default" --reporters="aft-jest-reporter" or from within your Jest config file using the following:

// jest.config.js
module.exports = {
    reporters: [
        'default',
        ["<rootDir>/node_modules/aft-jest-reporter/dist/src/aft-jest-reporter.js", { useReporter: true }]
    ]
};

AFT Configuration

while no configuration is required, the aft-jest-reporter supports all AFT configuration via an aftconfig.json file in the root directory.

AFT Helpers

this package comes with two helper classes that can be utilised from within your Jest specs to make use of AFT features.

AftJestTest

the AftJestTest class extends from the AftTest class providing the ability to parse the Spec name for any referenced Test. each Test ID must be surrounded with square brackets [ABC123]. additionally you can then call the AftJestTest.shouldRun() async function or use aftJestTest(expect, testFunction) which will determine if your test should be run based on any AFT PolicyPlugin instances referenced in your aftconfig.json file. using the AftJestTest class would look like the following:

describe('YourTestSuite', () => {
    test('can check if test [C1234] should be run', async () => {
        await aftJestTest(expect, async (v: AftJestTest) => { // passing 'expect' allows AftJestTest to get the current test full name
            await aft.reporter.step('we should never get here if C1234 should not be run');
            const result = await doStuff();
            await v.verify(result, equaling('stuff'));
        })
    });
});

which would output the following to your console and any AFT ReportingPlugin instances referenced in your aftconfig.json if the test ID should not be run:

17:52:45 - [YourTestSuite can check if test [C1234] should be run] - WARN - none of the supplied tests should be run: [C1234]
17:52:45 - [YourTestSuite can check if test [C1234] should be run] - WARN - test skipped

NOTES

  • because Jest refuses to allow programmatic skipping of tests (see: 7245) you will either need to perform all test verification inside an AFTs AftTest or if using AftJestTest you may call if (await new AftJestTest(expect).shouldRun().result !== true) { return; } at the top of your test function to ensure AFT can skip tests that should not be run based on any PolicyPlugin responses. this means Jest will report the test as 'passing', but AFT will correctly report 'skipped'
  • this Jest Reporter expects that there is only one instance of Jest running from a single location as it writes to a file to track the actual status of the test on completion
11.1.0

17 days ago

11.0.0

24 days ago

10.3.0

1 month ago

10.2.2

2 months ago

10.2.0

10 months ago

10.2.1

10 months ago

10.1.0

12 months ago

10.0.0

12 months ago