Skip to content

Web20 #16

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Open
wants to merge 12 commits into
base: web19
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from 1 commit
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Prev Previous commit
Next Next commit
test
  • Loading branch information
yt0379 committed Jul 18, 2020
commit 034c53092800b9a5e2139435791d73356c7c9b0b
1 change: 1 addition & 0 deletions .gitignore
Original file line number Diff line number Diff line change
@@ -1,6 +1,7 @@
.DS_Store
node_modules
/dist
/coverage

# local env files
.env.local
Expand Down
5 changes: 5 additions & 0 deletions jest.config.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
module.exports = {
preset: '@vue/cli-plugin-unit-jest',
"collectCoverage": true,
"collectCoverageFrom": ["src/**/*.{js,vue}"]
}
3,376 changes: 3,062 additions & 314 deletions package-lock.json

Large diffs are not rendered by default.

16 changes: 15 additions & 1 deletion package.json
Original file line number Diff line number Diff line change
Expand Up @@ -5,6 +5,7 @@
"scripts": {
"serve": "vue-cli-service serve",
"build": "vue-cli-service build",
"test:unit": "vue-cli-service test:unit",
"lint": "vue-cli-service lint"
},
"dependencies": {
Expand All @@ -20,8 +21,10 @@
"@vue/cli-plugin-babel": "^4.1.0",
"@vue/cli-plugin-eslint": "^4.1.0",
"@vue/cli-plugin-router": "^4.1.2",
"@vue/cli-plugin-unit-jest": "^4.4.6",
"@vue/cli-plugin-vuex": "^4.1.2",
"@vue/cli-service": "^4.1.0",
"@vue/test-utils": "^1.0.3",
"babel-eslint": "^10.0.3",
"body-parser": "^1.19.0",
"eslint": "^5.16.0",
Expand All @@ -45,7 +48,18 @@
},
"parserOptions": {
"parser": "babel-eslint"
}
},
"overrides": [
{
"files": [
"**/__tests__/*.{j,t}s?(x)",
"**/tests/unit/**/*.spec.{j,t}s?(x)"
],
"env": {
"jest": true
}
}
]
},
"browserslist": [
"> 1%",
Expand Down
25 changes: 25 additions & 0 deletions src/components/Kaikeba.vue
Original file line number Diff line number Diff line change
@@ -0,0 +1,25 @@
<template>
<div>
<span>{{ message }}</span>
<button @click="changeMsg">点击</button>
</div>
</template>

<script>
export default {
data () {
return {
message: 'vue-text'
}
},
created () {
this.message = '开课吧'
},
methods:{
changeMsg(){
this.message = '按钮点击'

}
}
}
</script>
12 changes: 12 additions & 0 deletions tests/unit/example.spec.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,12 @@
import { shallowMount } from '@vue/test-utils'
import HelloWorld from '@/components/HelloWorld.vue'

describe('HelloWorld.vue', () => {
it('renders props.msg when passed', () => {
const msg = 'new message'
const wrapper = shallowMount(HelloWorld, {
propsData: { msg }
})
expect(wrapper.text()).toMatch(msg)
})
})
44 changes: 44 additions & 0 deletions tests/unit/kaikeba.spec.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,44 @@
import Kaikeba from '@/components/Kaikeba.vue'
import {mount} from '@vue/test-utils'

function add(n1,n2){
return n1+n2
}

// 测试套件
describe('Kaikeba.vue', () => {
// 测试用例
test('测试add函数', () => {
// 断言
// expect(add(1,3)).toBe(3)
expect(add(1,3)).toBe(4)
expect(add(-2,3)).toBe(1)
})

test('要求组件必须有created选项', () => {
expect(typeof Kaikeba.created).toBe('function')

const defData = Kaikeba.data()
expect(defData.message).toBe('vue-text')
})


test('挂载之后data应该是开课吧', () => {
const wrapper = mount(Kaikeba)
const vm = wrapper.vm
expect(vm.message).toBe('开课吧')
})

test('按钮点击之后', () => {
const wrapper = mount(Kaikeba)
wrapper.find('button').trigger('click')
// 模仿jq获取内部元素内容
const html = wrapper.find('span').html()
setTimeout(() => {
expect(html).toBe('<span>按钮点击</span>')
}, 0);

})


})