From efd24b06804a96b4f07df81dfd80786de9a7d2de Mon Sep 17 00:00:00 2001 From: cookfront Date: Thu, 20 Apr 2017 18:11:05 +0800 Subject: [PATCH] add unit test --- README.md | 2 +- package.json | 1 + packages/search/src/search.vue | 4 +-- packages/tab/src/tabs.vue | 2 +- test/unit/components/tabs.vue | 12 ++++++--- test/unit/specs/field.spec.js | 1 - test/unit/specs/tabs.spec.js | 28 ++++++++++----------- test/unit/specs/uploader.spec.js | 42 +++++--------------------------- 8 files changed, 33 insertions(+), 59 deletions(-) diff --git a/README.md b/README.md index ddb99b733..46532ebde 100644 --- a/README.md +++ b/README.md @@ -51,7 +51,7 @@ make init componentName 在`docs/nav.config.json`文件里合适的地方写入组件声明,根据组件类型(JS组件,CSS组件,Form等)进行区分 在`docs/examples-docs`目录里新建同名的md文件,如`waterfall.md`,在项目的根目录下执行以下命令,启动server: ```shell -make dev +npm run dev ``` 浏览器访问[http://localhost:8080](http://localhost:8080)就可以看到所有组件的示例了。 diff --git a/package.json b/package.json index 7de2596cf..3afda57b0 100644 --- a/package.json +++ b/package.json @@ -71,6 +71,7 @@ "css-loader": "^0.24.0", "decamelize": "^1.2.0", "eslint-loader": "^1.7.1", + "eslint-plugin-vue": "^2.0.1", "extract-text-webpack-plugin": "^2.0.0-beta.5", "favicons-webpack-plugin": "0.0.7", "felint": "^0.5.0-alpha.3", diff --git a/packages/search/src/search.vue b/packages/search/src/search.vue index d75db3720..398a89ff4 100644 --- a/packages/search/src/search.vue +++ b/packages/search/src/search.vue @@ -17,13 +17,13 @@ diff --git a/test/unit/specs/field.spec.js b/test/unit/specs/field.spec.js index 428eaccb6..342678d1c 100644 --- a/test/unit/specs/field.spec.js +++ b/test/unit/specs/field.spec.js @@ -16,7 +16,6 @@ describe('Field', () => { }); expect(wrapper.hasClass('van-field')).to.be.true; - expect(wrapper.propsData().type).to.equal('text'); }); it('create a text field with initialize value', (done) => { diff --git a/test/unit/specs/tabs.spec.js b/test/unit/specs/tabs.spec.js index 9175158a6..b5219bcaf 100644 --- a/test/unit/specs/tabs.spec.js +++ b/test/unit/specs/tabs.spec.js @@ -1,6 +1,6 @@ import Tabs from 'packages/tabs'; import { mount } from 'avoriaz'; -// import TabsTestComponent from '../components/tabs'; +import TabsTestComponent from '../components/tabs'; describe('Tabs', () => { let wrapper; @@ -20,22 +20,20 @@ describe('Tabs', () => { expect(wrapper.hasClass('van-tabs--card')).to.be.true; }); - it('create a tabs with four tab', () => { - // wrapper = mount(TabsTestComponent); + it('create a tabs with four tab', (done) => { + wrapper = mount(TabsTestComponent); - // expect(wrapper.hasClass('van-tabs')).to.be.true; - // expect(wrapper.hasClass('van-tabs--line')).to.be.true; + expect(wrapper.hasClass('van-tabs')).to.be.true; + expect(wrapper.hasClass('van-tabs--line')).to.be.true; - // const eventStub = sinon.stub(wrapper.vNode.child, '$emit'); + const tabsContainer = wrapper.find('.van-tabs')[0]; + expect(tabsContainer.vNode.child.curActive).to.equal(0); - // const tabTitle = wrapper.find('.van-tab__pane')[2]; - // tabTitle.simulate('click'); - - // wrapper.vm.$nextTick(() => { - // // expect(.curActive).to.equal(2); - // console.log(wrapper.vNode.child); - // expect(eventStub.calledWith('click')); - // done(); - // }); + wrapper.vm.active = 1; + wrapper.update(); + wrapper.vm.$nextTick(() => { + expect(tabsContainer.vNode.child.curActive).to.equal(1); + done(); + }); }); }); diff --git a/test/unit/specs/uploader.spec.js b/test/unit/specs/uploader.spec.js index c45684604..a35c23db0 100644 --- a/test/unit/specs/uploader.spec.js +++ b/test/unit/specs/uploader.spec.js @@ -15,13 +15,7 @@ describe('Uploader', () => { }); expect(wrapper.contains('input')).to.equal(true); - expect(wrapper.methods().onValueChange.call(wrapper.vm, { target: { files: [] }})).to.equal(undefined); - }); -}); -describe('Uploader', () => { - let wrapper; - afterEach(() => { - wrapper && wrapper.destroy(); + expect(wrapper.vm.onValueChange({ target: { files: [] }})).to.equal(undefined); }); it('disabled', () => { @@ -32,13 +26,7 @@ describe('Uploader', () => { }); expect(wrapper.contains('input')).to.equal(true); - expect(wrapper.methods().onValueChange.call(wrapper.vm, { target: { files: [] }})).to.equal(undefined); - }); -}); -describe('Uploader', () => { - let wrapper; - afterEach(() => { - wrapper && wrapper.destroy(); + expect(wrapper.vm.onValueChange({ target: { files: [] }})).to.equal(undefined); }); it('before read', () => { @@ -52,13 +40,7 @@ describe('Uploader', () => { }); expect(wrapper.contains('input')).to.equal(true); - expect(wrapper.methods().onValueChange.call(wrapper.vm, { target: { files: [new File([], '')] }})).to.equal(undefined); - }); -}); -describe('Uploader', () => { - let wrapper; - afterEach(() => { - wrapper && wrapper.destroy(); + expect(wrapper.vm.onValueChange({ target: { files: [new File([], '')] }})).to.equal(undefined); }); it('read text', () => { @@ -73,13 +55,7 @@ describe('Uploader', () => { }); expect(wrapper.contains('input')).to.equal(true); - expect(wrapper.methods().onValueChange.call(wrapper.vm, { target: { files: [new File([], '/Users')] }})).to.equal(undefined); - }); -}); -describe('Uploader', () => { - let wrapper; - afterEach(() => { - wrapper && wrapper.destroy(); + expect(wrapper.vm.onValueChange({ target: { files: [new File([], '/Users')] }})).to.equal(undefined); }); it('read text no after hook', () => { @@ -91,13 +67,7 @@ describe('Uploader', () => { }); expect(wrapper.contains('input')).to.equal(true); - expect(wrapper.methods().onValueChange.call(wrapper.vm, { target: { files: [new File([], '/Users')] }})).to.equal(undefined); - }); -}); -describe('Uploader', () => { - let wrapper; - afterEach(() => { - wrapper && wrapper.destroy(); + expect(wrapper.vm.onValueChange({ target: { files: [new File([], '/Users')] }})).to.equal(undefined); }); it('read dataUrl', () => { @@ -112,6 +82,6 @@ describe('Uploader', () => { }); expect(wrapper.contains('input')).to.equal(true); - expect(wrapper.methods().onValueChange.call(wrapper.vm, { target: { files: [new File([], '/Users')] }})).to.equal(undefined); + expect(wrapper.vm.onValueChange({ target: { files: [new File([], '/Users')] }})).to.equal(undefined); }); });