basicTest.test.js 1.1 KB
Newer Older
Y
yurj26 已提交
1 2 3 4 5
const ERR_RE = /expected:<(.*)> but was:<(.*)>/

let result;

beforeAll(async () => {
6 7 8 9 10
  await program.reLaunch('/pages/index/basicTest')
  page = await program.currentPage()
  await page.waitFor(3000);
  const data = await page.data();
  result = data['result']
Y
yurj26 已提交
11 12 13
})

function getApiFailed(describe, api) {
14 15 16 17
  const failed = result[describe]?.failed?.find(item => {
    return item.split(':')[0] === api
  })
  return failed
Y
yurj26 已提交
18 19 20
}

describes.forEach(d => {
21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36
  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('')
          }
        }
      })
    })
  })
Y
yurj26 已提交
37
})
38 39

if (process.env.uniTestPlatformInfo.startsWith('ios')) {
W
wangjinxin613 已提交
40
  describe('testTypeFromAppJs', async () => {
41 42 43 44
    const res = await page.callMethod('jest_testTypeFromAppJs')
    expect(res).toEqual(true)
  })
}