浏览代码

test(timeselect,noticebar): add test (#1136)

Drjingfubo 3 年之前
父节点
当前提交
0dd9e2a009

+ 10 - 1
jest.config.js

@@ -12,5 +12,14 @@ module.exports = {
   // 支持源代码中相同的 `@` -> `src` 别名
   moduleNameMapper: {
     '^@/(.*)$': '<rootDir>/src/$1'
-  }
+  },
+  // 是否开启将测试覆盖率信息输出为报告
+  collectCoverage: true,
+  // 报告应从那些文件中收集
+  collectCoverageFrom: [
+    'src/packages/__VUE/**/*.{js,jsx,ts,tsx,vue}',
+    '!**/node_modules/**',
+    '!**/demo.vue/**',
+    '!**/index.taro.vue/**'
+  ]
 };

+ 1 - 1
package.json

@@ -52,7 +52,7 @@
     "generate:types": "node jd/generate-types.js",
     "generate:themes": "node jd/generate-themes.js",
     "prepare": "husky install",
-    "test": "jest",
+    "test": "jest --watchAll",
     "release": "standard-version -a",
     "codeformat": "prettier --write .",
     "copydocs": "node ./jd/copymd.js"

+ 21 - 1
src/packages/__VUE/noticebar/__tests__/noticebar.spec.ts

@@ -28,12 +28,32 @@ test('close event', async () => {
     props: {
       text: '华为畅享9新品即将上市,活动期间0元预约可参与抽奖,赢HUAWEI WATCH等好礼,更多产品信息请持续关注!',
       direction: 'across',
-      closeMode: true
+      closeMode: true,
+      color: 'red',
+      background: 'green',
+      delay: 1
     }
   });
   const closeDom = wrapper.find('.right-icon');
   closeDom.trigger('click');
   expect(wrapper.emitted('close')).toBeTruthy();
+  wrapper.setProps({
+    text: '123'
+  });
+  await nextTick();
+  const content = wrapper.find('.content');
+  expect(content.html()).toContain('123');
+});
+
+test('slot event', async () => {
+  const wrapper = mount(NoticeBar, {
+    slots: {
+      default: () => 'Custom Content'
+    }
+  });
+  await nextTick();
+  const content = wrapper.find('.content');
+  expect(content.html()).toContain('Custom Content');
 });
 
 test('icon custom', async () => {

+ 6 - 3
src/packages/__VUE/timeselect/__tests__/timeselect.spec.ts

@@ -157,6 +157,7 @@ test('Events test', async () => {
         visible1: true,
         currentKey1: 0,
         currentTime1: [] as any[],
+        key: [],
         times1: [
           {
             key: 0,
@@ -191,7 +192,9 @@ test('Events test', async () => {
         }
       };
 
-      const handleSelected1 = (obj: any) => {};
+      const handleSelected1 = (obj: any) => {
+        state.key = obj;
+      };
 
       return {
         ...toRefs(state),
@@ -204,6 +207,6 @@ test('Events test', async () => {
   });
 
   // event test
-  // await wrapper.find('.nut-overlay').trigger('click');
-  // expect(wrapper.emitted('select')).toBeTruthy();
+  await wrapper.find('.nut-overlay').trigger('click');
+  expect(wrapper.vm.key).toHaveLength(0);
 });