Răsfoiți Sursa

workflow: separate unit and e2e tests

Evan You 4 ani în urmă
părinte
comite
7c11c58faf

+ 3 - 1
package.json

@@ -9,7 +9,9 @@
     "size-baseline": "node scripts/build.js runtime-dom runtime-core reactivity shared -f esm-bundler && cd packages/size-check && vite build",
     "lint": "eslint --ext .ts packages/*/src/**.ts",
     "format": "prettier --write --parser typescript \"packages/**/*.ts?(x)\"",
-    "test": "node scripts/build.js vue -f global -d && jest --runInBand",
+    "test": "run-s test-unit test-e2e",
+    "test-unit": "jest --filter ./scripts/filter-unit.js",
+    "test-e2e": "node scripts/build.js vue -f global -d && jest --filter ./scripts/filter-e2e.js --runInBand",
     "test-dts": "node scripts/build.js shared reactivity runtime-core runtime-dom -dt -f esm-bundler && npm run test-dts-only",
     "test-dts-only": "tsc -p ./test-dts/tsconfig.json && tsc -p ./test-dts/tsconfig.build.json",
     "release": "node scripts/release.js",

+ 1 - 1
packages/vue/__tests__/TransitionGroup.spec.ts

@@ -346,7 +346,7 @@ describe('e2e: TransitionGroup', () => {
       )
       // not sure why but we just have to wait really long for this to
       // pass consistently :/
-      await transitionFinish(duration * 4)
+      await transitionFinish(duration * 4 + buffer)
       expect(await html('#container')).toBe(
         `<div class="" style="">a</div>` +
           `<div class="" style="">b</div>` +

+ 11 - 0
scripts/filter-e2e.js

@@ -0,0 +1,11 @@
+const e2eTests = ['/Transition', '/TransitionGroup', '/examples/']
+
+module.exports = list => {
+  return {
+    filtered: list
+      .filter(t => e2eTests.some(tt => t.includes(tt)))
+      .map(test => ({ test }))
+  }
+}
+
+module.exports.e2eTests = e2eTests

+ 9 - 0
scripts/filter-unit.js

@@ -0,0 +1,9 @@
+const { e2eTests } = require('./filter-e2e')
+
+module.exports = list => {
+  return {
+    filtered: list
+      .filter(t => !e2eTests.some(tt => t.includes(tt)))
+      .map(test => ({ test }))
+  }
+}