Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/eddyerburgh/avoriaz
🔬 a Vue.js testing utility library
https://github.com/eddyerburgh/avoriaz
avoriaz test-driven-development testing testing-tools tests vue vue-test vue-test-utilities vue-test-utils vue-testing vue-testing-framework vue-testing-tools vue-testing-utilities vuejs vuejs2 vuesjs2-testing
Last synced: about 15 hours ago
JSON representation
🔬 a Vue.js testing utility library
- Host: GitHub
- URL: https://github.com/eddyerburgh/avoriaz
- Owner: eddyerburgh
- License: mit
- Created: 2017-01-09T22:12:59.000Z (about 8 years ago)
- Default Branch: master
- Last Pushed: 2022-12-07T01:23:01.000Z (about 2 years ago)
- Last Synced: 2024-10-29T17:14:06.400Z (3 months ago)
- Topics: avoriaz, test-driven-development, testing, testing-tools, tests, vue, vue-test, vue-test-utilities, vue-test-utils, vue-testing, vue-testing-framework, vue-testing-tools, vue-testing-utilities, vuejs, vuejs2, vuesjs2-testing
- Language: JavaScript
- Homepage: https://eddyerburgh.gitbooks.io/avoriaz/content/
- Size: 923 KB
- Stars: 759
- Watchers: 11
- Forks: 62
- Open Issues: 46
-
Metadata Files:
- Readme: README.md
- Changelog: CHANGELOG.md
- License: LICENSE
Awesome Lists containing this project
- awesome-vue - avoriaz - VueJS测试实用工具库 (实用库)
- awesome-github-vue - avoriaz - VueJS测试实用工具库 (实用库)
- awesome-github-vue - avoriaz - VueJS测试实用工具库 (实用库)
- awesome - avoriaz - VueJS测试实用工具库 (实用库)
README
# avoriaz [![Build Status](https://travis-ci.org/eddyerburgh/avoriaz.svg?branch=master)](https://travis-ci.org/eddyerburgh/avoriaz)
> a Vue.js testing utility library
## Deprecation
This library will be deprecated once [vue-test-utils](https://github.com/vuejs/vue-test-utils) is released.
## Installation
```
npm install --save-dev avoriaz
```## Documentation
[Visit the docs](https://eddyerburgh.gitbooks.io/avoriaz/content/)
## Examples
- [Example using karma and mocha](https://github.com/eddyerburgh/avoriaz-karma-mocha-example)
- [Example using karma and jasmine](https://github.com/eddyerburgh/avoriaz-karma-jasmine-example)
- [Example using Jest](https://github.com/eddyerburgh/avoriaz-jest-example)
- [Example using mocha-webpack](https://github.com/eddyerburgh/avoriaz-mocha-example)
- [Example using tape](https://github.com/eddyerburgh/avoriaz-tape-example)
- [Example using ava](https://github.com/eddyerburgh/avoriaz-ava-example)##### Assert wrapper contains a child
```js
import { mount } from 'avoriaz'
import Foo from './Foo.vue'const wrapper = mount(Foo)
expect(wrapper.contains('.bar')).to.equal(true)
```##### Shallow render components
```js
import { shallow } from 'avoriaz'
import Foo from './Foo.vue'
import Bar from './Bar.vue'const wrapper = shallow(Foo)
expect(wrapper.contains(Bar)).to.equal(true)
```##### Assert style is rendered
```js
const button = wrapper.find('div > button .button-child')[0]
expect(button.hasStyle('color', 'red')).to.equal(true)
```##### Assert method is called when DOM event is triggered
```js
const clickHandler = sinon.stub()
const wrapper = mount(Foo, {
propsData: { clickHandler }
})
wrapper.find('div .bar')[0].trigger('click')
expect(clickHandler.called).to.equal(true)
```##### Assert wrapper contains text
```js
const title = wrapper.find('h1.title')[0]
expect(title.text()).to.equal('some text')
```##### Inject globals
```js
const $route = { path: 'http://www.example-path.com' }
const wrapper = mount(Foo, {
globals: {
$route
}
})
expect(wrapper.vm.$route.path).to.equal($route.path)
```##### Inject slots
```js
const wrapper = mount(Foo, {
slots: {
default: Foo
}
})
```##### Set data
```js
wrapper.setData({
someData: 'some data'
})expect(wrapper.vm.someData).to.equal('some data')
```##### Update props
```js
wrapper.setProps({
someProp: 'some prop',
anotherProp: 'another prop'
})
```For more examples, [see the docs](https://eddyerburgh.gitbooks.io/avoriaz/content/)