const ERR_RE = /expected:<(.*)> but was:<(.*)>/ let result; beforeAll(async () => { await program.reLaunch('/pages/index/basicTest') page = await program.currentPage() await page.waitFor(3000); const data = await page.data(); result = data['result'] }) function getApiFailed(describe, api) { const failed = result[describe]?.failed?.find(item => { return item.split(':')[0] === api }) return failed } describes.forEach(d => { d?.describe && describe(d.describe, () => { d?.tests && d.tests.forEach(api => { it(api, () => { const failed = getApiFailed(d.describe, api) if (failed) { const parts = failed.split('\n') const matches = parts[1].match(ERR_RE) if (matches?.length) { expect(matches[2]).toEqual(matches[1]) } else { expect(parts[1]).toEqual('') } } }) }) }) }) if (process.env.UNI_PROJECT_TYPE === '2.0' && process.env.uniTestPlatformInfo.toLocaleLowerCase().startsWith('ios')) { describe('testTypeFromAppJs', () => { it("jest_testTypeFromAppJs", async () => { const res = await page.callMethod('jest_testTypeFromAppJs') expect(res).toEqual(true) }) }) } if (process.env.UNI_PROJECT_TYPE === '2.0' && (process.env.uniTestPlatformInfo.toLocaleLowerCase().startsWith('ios') || process.env.uniTestPlatformInfo.startsWith('android'))) { describe('testCallbackKeepAlive2.0', () => { it("jest_testCallbackKeepAlive", async () => { const res = await page.callMethod('jest_testCallbackKeepAlive') expect(res).toEqual(true) }) }) } if (process.env.UNI_PROJECT_TYPE === '1.0' && (process.env.uniTestPlatformInfo.toLocaleLowerCase().startsWith('ios') || process.env.uniTestPlatformInfo.startsWith('android'))) { describe('testCallbackKeepAlive1.0', () => { it("jest_testCallbackKeepAlive", async () => { const res = await page.callMethod('jest_testCallbackKeepAlive') expect(res).toEqual(20) }) }) }