vue-unit-helper
Helpers for unit testing Vue components
1,301
| Install | |
|---|---|
npm install vue-unit-helper |
|
| Latest Version: | 1.0.9 |
| License: | MIT |
| Last Updated: | Apr 30, 2018 |
| Links: | GitHub · npm |
Maintainer: danielbrierton
vue-unit-helper
A helper function for unit testing Vue components
Installation
npm install --save-dev vue-unit-helper
Usage
Require vue-unit-helper into your test, and pass your Vue component definition into it. The object returned will allow you to directly access data properties, computed properties, methods, and lifecycle methods (under a $lifecycleMethods object).
Example
Counter.vue
<template>
<p>2^{{ num }} = {{ twoToPowerOfNum }}</p>
<button @click="increment">Increment</button>
<button @click="decrement">Decrement</button>
</template>
<script>
export default {
name: 'Counter',
data() {
return {
num: 0
};
},
computed: {
twoToPowerOfNum() {
return Math.pow(2, this.num);
}
},
methods: {
increment() {
this.num++;
},
decrement() {
this.num--;
}
}
};
</script>
Counter.spec.js
import Counter from '@/Counter';
import vueUnitHelper from 'vue-unit-helper';
describe('Counter', () => {
it('should set twoToPowerOfNum computed property to 2 to the power of num', () => {
// ARRANGE
const counter = vueUnitHelper(Counter);
counter.num = 4;
// ACT
const result = counter.twoToPowerOfNum;
// ASSERT
expect(result).to.equal(16);
});
it('should change twoToPowerOfNum computed property when num is changed', () => {
// ARRANGE
const counter = vueUnitHelper(Counter);
counter.num = 4;
const originalResult = counter.twoToPowerOfNum;
counter.num = 5;
// ACT
const newResult = counter.twoToPowerOfNum;
// ASSERT
expect(originalResult).to.equal(16);
expect(newResult).to.equal(32);
});
it('should increment num', () => {
// ARRANGE
const counter = vueUnitHelper(Counter);
counter.num = 4;
// ACT
this.increment();
// ASSERT
expect(counter.num).to.equal(5);
});
it('should increment num', () => {
// ARRANGE
const counter = vueUnitHelper(Counter);
counter.num = 4;
// ACT
this.decrement();
// ASSERT
expect(counter.num).to.equal(3);
});
});
Related Packages
@atomic-testing/vue-3
The @atomic-testing/vue-3 package is a Vue 3 test adapter that extends Atomic Te...
4,609
5
@vuetify/testing-library-dom
Simple and complete DOM testing utilities that encourage good testing practices.
15,432
0
Version History
| Version | Released | License |
|---|---|---|
| 1.0.9 | MIT | |
| 1.0.8 | MIT | |
| 1.0.7 | MIT | |
| 1.0.6 | MIT | |
| 1.0.5 | MIT | |
| 1.0.4 | MIT | |
| 1.0.3 | MIT | |
| 1.0.2 | MIT | |
| 1.0.1 | MIT | |
| 1.0.0 | MIT |