Book Image

Learning Vue.js 2

By : Olga Filipova
Book Image

Learning Vue.js 2

By: Olga Filipova

Overview of this book

Vue.js is one of the latest new frameworks to have piqued the interest of web developers due to its reactivity, reusable components, and ease of use. This book shows developers how to leverage its features to build high-performing, reactive web interfaces with Vue.js. From the initial structuring to full deployment, this book provides step-by-step guidance to developing an interactive web interface from scratch with Vue.js. You will start by building a simple application in Vue.js which will let you observe its features in action. Delving into more complex concepts, you will learn about reactive data binding, reusable components, plugins, filters, and state management with Vuex. This book will also teach you how to bring reactivity to an existing static application using Vue.js. By the time you finish this book you will have built, tested, and deployed a complete reactive application in Vue.js from scratch.
Table of Contents (18 chapters)
Learning Vue.js 2
Credits
About the Author
Acknowledgments
About the Reviewer
www.PacktPub.com
Dedication
Preface

Unit tests for Vue application


First, let's check on some particularities of unit testing our Vue application and its components. In order to be able to write tests for the component instance, first of all, it should be instantiated! Quite logical, right? The thing is, how do we instantiate the Vue component so that its methods become accessible and easily testable? To test basic assertions of the initial state of the component, you must just import them and assert their properties. If you want to test dynamic properties—things that change once the component is bound to DOM—you must do just the following three things:

  1. Import a component.
  2. Instantiate it by passing it to the Vue function.
  3. Mount it.

Tip

When the instance is bound to the physical DOM, once instantiated, the compilation is started immediately. In our case, we are not binding the instance to any real physical DOM element, and thus we have to explicitly make it compile it by invoking manually the mount method ($mount).

Now you can use...