• This repository has been archived on 26/Dec/2018
  • Stars
    star
    104
  • Rank 330,604 (Top 7 %)
  • Language
    JavaScript
  • Created about 7 years ago
  • Updated almost 6 years ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

Example project using mocha-webpack and vue-test-utils

THIS REPOSITORY IS DEPRECATED

Note: This example is outdated. It's now recommended to scaffold your project with Vue CLI 3 which provides out-of-the-box configurations for unit testing.

vue-test-utils-mocha-example

Example project using mocha-webpack and vue-test-utils

This is based on the vue-cli webpack-simple template. Test-specific changes include:

Additional Dependencies

  • vue-test-utils
  • mocha & mocha-webpack
  • jsdom & jsdom-global (for setting up DOM environment in tests)
  • webpack-node-externals (for excluding NPM deps from test bundle)
  • expect (for assertions)
  • nyc & babel-plugin-istanbul (for coverage)

Additional Configuration

package.json

Added test script and setting for nyc:

{
  // ...
  "scripts": {
    // ...
    "test": "cross-env NODE_ENV=test nyc mocha-webpack --webpack-config webpack.config.js --require test/setup.js test/**/*.spec.js"
  },
  "nyc": {
    "include": [
      "src/**/*.(js|vue)"
    ],
    "instrument": false,
    "sourceMap": false
  }
}

webpack.config.js

Added test-specific configs:

if (process.env.NODE_ENV === 'test') {
  // exclude NPM deps from test bundle
  module.exports.externals = [require('webpack-node-externals')()]
  // use inline source map so that it works with mocha-webpack
  module.exports.devtool = 'inline-cheap-module-source-map'
}

test/setup.js

Global setup for tests. This is run first with mocha-webpack's --require flag.

// setup JSDOM
require('jsdom-global')()

// make expect available globally
global.expect = require('expect')

.babelrc

Added "plugins": ["istanbul"]:

{
  "env": {
    // ...
    "test": {
      "plugins": ["istanbul"]
    }
  }
}

Build Setup

# install dependencies
npm install

# serve with hot reload at localhost:8080
npm run dev

# build for production with minification
npm run build

# run unit tests
npm test

For detailed explanation on how things work, consult the docs for vue-test-utils.

More Repositories

1

vue

This is the repo for Vue 2. For Vue 3, go to https://github.com/vuejs/core
TypeScript
207,650
star
2

awesome-vue

🎉 A curated list of awesome things related to Vue.js
71,970
star
3

core

🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript
46,527
star
4

vue-cli

🛠️ webpack-based tooling for Vue.js Development
JavaScript
29,761
star
5

vuex

🗃️ Centralized State Management for Vue.js.
JavaScript
28,416
star
6

devtools-v6

⚙️ Browser devtools extension for debugging Vue.js applications.
TypeScript
24,600
star
7

vuepress

📝 Minimalistic Vue-powered static site generator
JavaScript
22,558
star
8

vue-router

🚦 The official router for Vue 2
JavaScript
18,993
star
9

pinia

🍍 Intuitive, type safe, light and flexible Store for Vue using the composition api with DevTools support
TypeScript
13,016
star
10

vitepress

Vite & Vue powered static site generator.
TypeScript
12,445
star
11

vue-hackernews-2.0

HackerNews clone built with Vue 2.0, vue-router & vuex, with server-side rendering
JavaScript
10,957
star
12

petite-vue

6kb subset of Vue optimized for progressive enhancement
TypeScript
9,026
star
13

apollo

🚀 Apollo/GraphQL integration for VueJS
TypeScript
6,013
star
14

language-tools

⚡ High-performance Vue language tooling based-on Volar.js
TypeScript
5,830
star
15

vue-class-component

ES / TypeScript decorator for class-style Vue components.
TypeScript
5,806
star
16

vetur

Vue tooling for VS Code.
TypeScript
5,739
star
17

v2.vuejs.org

📄 Documentation for Vue 2
JavaScript
5,036
star
18

vue-loader

📦 Webpack loader for Vue.js components
TypeScript
4,986
star
19

rfcs

RFCs for substantial changes / feature additions to Vue core
4,862
star
20

eslint-plugin-vue

Official ESLint plugin for Vue.js
JavaScript
4,458
star
21

composition-api

Composition API plugin for Vue 2
TypeScript
4,193
star
22

router

🚦 The official router for Vue.js
TypeScript
3,914
star
23

vuefire

🔥 Firebase bindings for Vue.js
TypeScript
3,857
star
24

create-vue

🛠️ The recommended way to start a Vite-powered Vue project
Vue
3,667
star
25

vue-test-utils

Component Test Utils for Vue 2
JavaScript
3,566
star
26

vue-rx

👁️ RxJS integration for Vue.js.
JavaScript
3,349
star
27

docs

📄 Documentation for Vue 3
Vue
2,933
star
28

vue-touch

Hammer.js wrapper for Vue.js
JavaScript
2,723
star
29

vuex-router-sync

Effortlessly keep vue-router and vuex store in sync.
JavaScript
2,515
star
30

vue-hackernews

HackerNews clone with Vue.js
Vue
2,510
star
31

vue-vapor

Vue Vapor is a variant of Vue that offers rendering without the Virtual DOM.
TypeScript
1,909
star
32

v2.cn.vuejs.org

🇨🇳 Chinese translation for v2.vuejs.org
JavaScript
1,865
star
33

babel-plugin-transform-vue-jsx

babel plugin for vue 2.0 jsx
JavaScript
1,846
star
34

babel-plugin-jsx

JSX for Vue 3
TypeScript
1,713
star
35

vue-syntax-highlight

💡 Sublime Text syntax highlighting for single-file Vue components
1,485
star
36

jsx-vue2

monorepo for Babel / Vue JSX related packages
JavaScript
1,468
star
37

devtools-next

The next iteration of Vue DevTools
TypeScript
1,336
star
38

ui

💻 UI components for official Vue organization apps
Vue
1,329
star
39

vue-docs-zh-cn

该项目已不再维护,有劳通过 Vue 官网查阅最新的文档
1,324
star
40

vueify

Browserify transform for single-file Vue components
JavaScript
1,168
star
41

vue-web-component-wrapper

(Vue 2 only) Wrap a Vue component as a web component / custom element.
JavaScript
1,047
star
42

test-utils

Vue Test Utils for Vue 3
TypeScript
1,038
star
43

docs-next-zh-cn

🇨🇳 Chinese translation for v3.vuejs.org
Vue
951
star
44

repl

Vue SFC REPL as a Vue 3 component
TypeScript
925
star
45

roadmap

🗺️ Roadmap for the Vue.js project (archive)
846
star
46

rollup-plugin-vue

Roll .vue files
TypeScript
843
star
47

vue-jest

Jest Vue transformer
JavaScript
748
star
48

vue-migration-helper

CLI tool to aid in migration from Vue 1.x to 2.0
JavaScript
594
star
49

vue-dev-server

A POC dev server that allows you to import `*.vue` files via native ES modules imports.
TypeScript
573
star
50

vue2-ssr-docs

Vue.js Server-Side Rendering Guide (for Vue 2)
563
star
51

vue-hot-reload-api

🌶️ Hot reload API for Vue components
JavaScript
466
star
52

vue-animated-list

A Vue.js plugin for easily animating `v-for` rendered lists.
JavaScript
462
star
53

vue-eslint-parser

The ESLint custom parser for `.vue` files.
TypeScript
444
star
54

vue-next-webpack-preview

JavaScript
424
star
55

vue-async-data

Async data loading plugin
JavaScript
417
star
56

vue-component-compiler

Compile a single file Vue component into a CommonJS module.
TypeScript
343
star
57

vue-cli-plugin-vue-next

A Vue CLI plugin for trying out vue-next (experimental)
JavaScript
339
star
58

blog

📝 The official Vue.js blog
Vue
331
star
59

eslint-config-vue

JavaScript
327
star
60

component-compiler-utils

Lower level utilities for compiling Vue single file components
TypeScript
321
star
61

tsconfig

Base tsconfig for Vue 3 projects.
301
star
62

vue-test-utils-jest-example

Example project using Jest + vue-test-utils together
JavaScript
296
star
63

vue-template-explorer

Vue template compilation explorer
Vue
267
star
64

vue-codemod

Vue.js codemod scripts
TypeScript
261
star
65

events

Source code for the new Vue.js Events page
Vue
250
star
66

jp.vuejs.org

🇯🇵 Japanese translation for vuejs.org
JavaScript
244
star
67

theme

VitePress theme for vuejs.org.
Vue
236
star
68

v3-migration-guide

Vue 2 -> Vue 3 migration guide
JavaScript
218
star
69

vue-element

register a custom element with Vue.js.
JavaScript
209
star
70

vue-curated

🖼️ The curated Vue packages list
178
star
71

Discussion

Vue.js discussion
167
star
72

vuex-observable

Consume Vuex actions as Observables using RxJS 5
JavaScript
155
star
73

vue-issue-helper

Vue
145
star
74

composition-api-converter

Automatically migrate components to the Function API
JavaScript
145
star
75

art

🎨 Artworks
127
star
76

babel-preset-vue-app

Babel preset for Vue app.
JavaScript
124
star
77

eslint-config-typescript

eslint-config-typescript for vue projects
JavaScript
115
star
78

vue-router-demos

Live demos for vue-router
Vue
107
star
79

eslint-plugin-vue-libs

Eslint plugin for Vue internal development
JavaScript
106
star
80

laravel-elixir-vue-2

Laravel Elixir Vue 2.0 support plugin
JavaScript
105
star
81

composition-api-rfc

Vuepress render for the Composition API RFC
JavaScript
104
star
82

ecosystem-ci

Vue Ecosystem CI
TypeScript
92
star
83

babel-preset-vue

Babel preset for transforming Vue JSX.
JavaScript
88
star
84

vue-test-utils-getting-started

Demo project for `vue-test-utils`
JavaScript
81
star
85

vue-webpack-meteor-example

Example using Vue with Meteor, while leveraging the normal Webpack + NPM workflow for your front-end.
Vue
78
star
86

eslint-config-airbnb

ESLint Shareable Configs for Airbnb JavaScript Style Guide in Vue.js Projects
JavaScript
71
star
87

vue-requests

Need a Vue.js module or looking for ideas?
69
star
88

news.vuejs.org

Vue.js News Portal
Vue
67
star
89

vue-curated-client

Official curation list client
Vue
65
star
90

eslint-config-prettier

eslint-config-prettier for vue-cli
JavaScript
65
star
91

vue-test-utils-typescript-example

Example project using TypeScript, Jest + vue-test-utils together
Vue
61
star
92

vue-template-es2015-compiler

Support a subset of handy ES2015 features in Vue 2.0 templates.
JavaScript
61
star
93

create-vue-templates

Snapshots of the generated templates of `npm create vue@latest`
Vue
44
star
94

create-eslint-config

Utility to setup ESLint in Vue.js projects.
JavaScript
43
star
95

eslint-config-standard

ESLint Shareable Configs for JavaScript Standard Style in Vue.js Projects
JavaScript
40
star
96

vue-ssr-html-stream

Transform stream to simplify Vue SSR streaming
HTML
39
star
97

it.vuejs.org

Italian translation for vuejs.org 🇮🇹
JavaScript
35
star
98

systemjs-plugin-vue

SystemJS plugin for Vue single file components
JavaScript
34
star
99

test-utils-docs

Docs for vue-test-utils-next
JavaScript
33
star
100

vue-curated-server

JavaScript
31
star