testSequencer.js 2.0 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152
  1. const Sequencer = require("@jest/test-sequencer").default
  2. const startTestFilePaths = [
  3. "pages/API/get-current-pages/get-current-pages.test.js",
  4. "pages/component/view/view.test.js",
  5. "pages/API/pull-down-refresh/pull-down-refresh.test.js",
  6. "pages/component/global-events/global-events.test.js",
  7. "pages/component/list-view/list-view-refresh.test.js",
  8. "pages/component/scroll-view/scroll-view-refresher.test.js",
  9. "pages/component/global-events/touch-events.test.js",
  10. "pages/component/global-events/touch-events-bubbles.test.js",
  11. "pages/component/global-events/touch-events-case.test.js",
  12. "pages/component/global-events/touch-events-preventDefault.test.js",
  13. "pages/component/swiper/swiper2.test.js",
  14. "pages/component/slider/slider-maxValue.test.js",
  15. "pages/CSS/overflow/overflow-visible-event.test.js",
  16. "pages/API/create-selector-query/create-selector-query-onScroll.test.js",
  17. "pages/component/scroll-view/scroll-view-custom-refresher-props.test.js",
  18. "pages/component/waterflow/waterflow.test.js",
  19. "pages/component/text/text-props.test.js",
  20. "pages/component/rich-text/rich-text-complex.test.js",
  21. "pages/component/web-view/web-view/web-view-local.test.js"
  22. ]
  23. const endTestFilePaths = [
  24. "pages/API/navigator/new-page/onLoad.test.js",
  25. // 切换页面 modal 弹框无法关闭
  26. "pages/API/show-modal/show-modal.test.js",
  27. "pages/API/storage/storage.test.js",
  28. "pages/component/web-view/web-view.test.js"
  29. ]
  30. class CustomSequencer extends Sequencer {
  31. sort(tests) {
  32. const startTests = startTestFilePaths
  33. .map((filePath) => {
  34. return tests.find((test) => test.path.endsWith(filePath))
  35. })
  36. .filter(Boolean)
  37. const endTests = endTestFilePaths
  38. .map((filePath) => {
  39. return tests.find((test) => test.path.endsWith(filePath))
  40. })
  41. .filter(Boolean)
  42. const middleTests = tests.filter((test) =>
  43. !startTests.includes(test) && !endTests.includes(test)
  44. );
  45. return [...startTests, ...middleTests, ...endTests]
  46. }
  47. }
  48. module.exports = CustomSequencer