Created
December 25, 2021 11:12
Revisions
-
Nyoho created this gist
Dec 25, 2021 .There are no files selected for viewing
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters. Learn more about bidirectional Unicode charactersOriginal file line number Diff line number Diff line change @@ -0,0 +1,38 @@ const util = require('util'); const exec = util.promisify(require('child_process').exec); const fetch = require('undici').fetch; const promiseRetry = require('promise-retry'); const sleep = (time) => { return new Promise((resolve, reject) => { setTimeout(() => { resolve() }, time) }) } describe('npm scripts', () => { it.concurrent('starts a dev server', async () => { const ac = new AbortController(); const devServerPromise = exec('npm run dev', { signal: ac.signal }); const result = await promiseRetry(async (retry, number) => { if (number > 1) { console.log(`Retrying fetch...(${number})`); } try { console.log(`Let's try (${number}th time)`); return await fetch('http://localhost:3000/') } catch (e) { await sleep(1000); await retry(e); } }, { retries: 10 }); console.log('After promiseRetry()'); try { ac.abort(); } catch (e) { console.log("abort 例外を無視 ", e); } expect(result.status).toBe(200); }); });