switch201
switch201

Reputation: 597

How to get the testCafe exit code

I am having an issue running Testcafe through cucumber. for whatever reason, When I run testCafe through cucumber, the process will always exit with exit code 0 even in the test fails.

If I run puppeteer through cucumber I don't get this issue. I am thinking that this behavior is due to the way I have things set up in my hooks file where I am not properly interpreting the test cafe exit code.

In my hooks file, I am creating a testCafe runner and in my Before hook and then closing it during my after hook.

I am wondering what command I could use to get the TestCafe exit code, and I haven't been able to find any info on this.

For example, is the exit code returned from the close function or what?

Upvotes: 3

Views: 1488

Answers (1)

Alex Kamaev
Alex Kamaev

Reputation: 6318

TestCafe API does not call the process.exit method since it should work inside custom node scripts.

TestCafe calls process.exit only in CLI.

I suppose that you want to get information about failed tests in API. The runner.run method returns this information. Please see the following example:

const createTestCafe = require('testcafe');
let runner           = null;
let tc               = null;

createTestCafe('localhost', 1337, 1338)
    .then(testcafe => {
        tc     = testcafe;
        runner = tc.createRunner();
    })
    .then(() => {
        return runner
            .src('...')
            .browsers('chrome')
            .run();
    })
    .then(failedCount => {
        console.log(failedCount)

        return tc.close();
    });

Here, you can call process.exit if you find that failedCount > 0;

Upvotes: 5

Related Questions