<?xml version="1.0" encoding="UTF-8"?><rss xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:atom="http://www.w3.org/2005/Atom" version="2.0" xmlns:cc="http://cyber.law.harvard.edu/rss/creativeCommonsRssModule.html">
    <channel>
        <title><![CDATA[Stories by Ramon Schmidt — @ramon_src on Medium]]></title>
        <description><![CDATA[Stories by Ramon Schmidt — @ramon_src on Medium]]></description>
        <link>https://medium.com/@ramon_src?source=rss-bdb3ea296232------2</link>
        <image>
            <url>https://cdn-images-1.medium.com/fit/c/150/150/2*sM2Igoh8HhULjku_WS6rew.png</url>
            <title>Stories by Ramon Schmidt — @ramon_src on Medium</title>
            <link>https://medium.com/@ramon_src?source=rss-bdb3ea296232------2</link>
        </image>
        <generator>Medium</generator>
        <lastBuildDate>Sat, 14 Nov 2026 19:12:19 GMT</lastBuildDate>
        <atom:link href="https://medium.com/@ramon_src/feed" rel="self" type="application/rss+xml"/>
        <webMaster><![CDATA[yourfriends@medium.com]]></webMaster>
        <atom:link href="http://medium.superfeedr.com/" rel="hub"/>
        <item>
            <title><![CDATA[Testing Vue with Jest part — II]]></title>
            <link>https://medium.com/@ramon_src/testing-vue-with-jest-part-ii-fae5781a6bbb?source=rss-bdb3ea296232------2</link>
            <guid isPermaLink="false">https://medium.com/p/fae5781a6bbb</guid>
            <category><![CDATA[vuejs]]></category>
            <category><![CDATA[tutorial]]></category>
            <category><![CDATA[javascript]]></category>
            <category><![CDATA[jest]]></category>
            <category><![CDATA[testing]]></category>
            <dc:creator><![CDATA[Ramon Schmidt — @ramon_src]]></dc:creator>
            <pubDate>Mon, 23 Jul 2018 00:52:51 GMT</pubDate>
            <atom:updated>2018-07-23T01:02:19.320Z</atom:updated>
            <content:encoded><![CDATA[<figure><img alt="" src="https://cdn-images-1.medium.com/max/820/1*xH3k9_YzGNXlGKxGFixTfw.png" /></figure><p>So, recapitulating the <a href="https://medium.com/@ramon_src/starting-to-test-vue-with-jest-part-i-2cf1d357df54">first part</a> of this series we configured and created our first Vue Js test with <a href="https://jestjs.io/">Jest</a> and the library <a href="https://vue-test-utils.vuejs.org/">vue-test-utils</a>.</p><p>This tutorial will not explain you how to configure a vue application. We only will focus on component creation and tests.</p><blockquote>So we will use Jest as our test runner installed by default with vue-cli init webpack version 2.9.6+ but if your vue-cli doesn’t has Jest option to install. Feel free to read the <a href="https://medium.com/@ramon_src/starting-to-test-vue-with-jest-part-i-2cf1d357df54">part I</a> of this series and install jest on your vue application.</blockquote><p>So first of all, what component we will create?</p><p>I carefully choose a paginator component, it has a good complexity for create, receive, manipulate and needs to understand data, also can be quite agnostic for all users use in yours applications and manipulate the interface of the component directly without change the backend compatibility with the older paginator.</p><p>Well, we need to know the requirements our paginator must have.</p><p>So, I think we can doing our first Minimum product viable with:</p><ul><li>Button which will decrease a page</li><li>Button which will increase a page</li><li>The current page number</li></ul><p>Ok, lets start!</p><ol><li>Create a folder called awesome-vue-paginator</li><li>Add a vue application in.</li><li>Add Jest to your project.</li></ol><blockquote>NICE!!!</blockquote><figure><img alt="" src="https://cdn-images-1.medium.com/max/273/1*B5TfVHg6HpddXn-F3NHRRw.png" /><figcaption>Your project should look like this</figcaption></figure><h3>Now we can start creating our component!!!</h3><blockquote>OR our first TEST AWWEEE YEAAAH!</blockquote><p>Why we will create the test first? For thinking about the component structural design before, forcing we think in the simpliest solution first.</p><p>So the cicle of our tests and development will be using Test Driven Development (TDD), if you don’t know what is it please read <a href="https://en.wikipedia.org/wiki/Test-driven_development">this</a>!</p><p>Ok, lets create our first test file. We will insert into the folder <strong><em>test -&gt; unit -&gt; specs</em></strong> with the filename <strong><em>Paginator.spec.js</em></strong></p><figure><img alt="" src="https://cdn-images-1.medium.com/max/274/1*hDZisOaksXa8jxavez5Mrg.png" /></figure><p>Now we can create our first use case in the test file!</p><blockquote>As a user</blockquote><blockquote>I want to click a button to see the next page</blockquote><p>Ok, so we will briefly write a test thinking the next button realy exists.</p><iframe src="" width="0" height="0" frameborder="0" scrolling="no"><a href="https://medium.com/media/5cb72ab86a1dc835aa656703d7a141e6/href">https://medium.com/media/5cb72ab86a1dc835aa656703d7a141e6/href</a></iframe><p>Ok what we are doing here.</p><h4>Importing ShallowMount from @vue/test-utils</h4><p>The shallowMount method will creates a <a href="https://vue-test-utils.vuejs.org/api/wrapper/">Wrapper</a> that contains the mounted and rendered Vue component, in this case a Paginator wrapper, and with stubbed child components.</p><h4>Stubbed Components</h4><p>The stubbed components will not be rendered and we can’t access their functionalities. So shallowMount will not render the child components because they are stubbed.</p><p>But our first component will not have children. So we can still use the shallowMount method!</p><h4>Accessing the wrapper API to manipulate the component</h4><iframe src="" width="0" height="0" frameborder="0" scrolling="no"><a href="https://medium.com/media/4951497e5d0b49e68eaf17a37c6baf5c/href">https://medium.com/media/4951497e5d0b49e68eaf17a37c6baf5c/href</a></iframe><p>The shallowMount receiving Paginator component will return a wrapped paginator which we can be able to access <a href="https://vue-test-utils.vuejs.org/api/wrapper/#methods">many methods</a> for working with the component.</p><p>So now we can find an element on Paginator Component DOM using the <strong>find</strong> <strong>method</strong> on our wrapped component.</p><p>And we will <strong>trigger</strong> a behavior on the element that we got it. Triggering the <strong>click</strong> behavior on our button element.</p><h4>Getting data from Wrapped Vue Instance</h4><iframe src="" width="0" height="0" frameborder="0" scrolling="no"><a href="https://medium.com/media/d508c937db689e7274443bed9ee6a366/href">https://medium.com/media/d508c937db689e7274443bed9ee6a366/href</a></iframe><p>From the paginator wrapper we have access to <a href="https://gist.github.com/ramon-src/72f29f373763c7febdcde926a1f46b26"><strong>vm</strong></a> object which we can get <a href="https://vuejs.org/v2/api/#Instance-Properties"><strong>data, props, options, children, el</strong></a>… Remember we only have permission to read the information!</p><blockquote>Nice! Now we learn a little about vue test utils!</blockquote><h4>So we need run the test and see what we get!</h4><p>Running the tests you will see something like this:</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/761/1*FASbwzapnmmN8YilIjkVtg.png" /></figure><p>Ouch! Our test are failing :(</p><h4>So what we need to see the test pass?</h4><ul><li>We need create the component on the path: <strong>src/components/Paginator </strong>with the name <strong>Paginator</strong>;</li></ul><figure><img alt="" src="https://cdn-images-1.medium.com/max/173/1*RoqfKXshDgvwMSiyT1SWUQ.png" /></figure><ul><li>Add a simple template with a <strong>button html tag</strong></li><li>Starting currentPage data with <strong>1</strong></li><li>And a <strong>on click event</strong> in the button wich will <strong>sum currentPage + 1</strong></li></ul><iframe src="" width="0" height="0" frameborder="0" scrolling="no"><a href="https://medium.com/media/ae7ba0e55ed2331dd48c843ae1ba2f65/href">https://medium.com/media/ae7ba0e55ed2331dd48c843ae1ba2f65/href</a></iframe><p>Ok, template created. Now we need run the tests again and see if we resolve our problem.</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/652/1*WNzbpTjyNMdcr2Aj7grA7w.png" /><figcaption>Hell yeah!</figcaption></figure><p>Ok, but we are forgoten a use case, which we need to start in the first page.</p><h4>Current page 1 by default</h4><blockquote>As a user</blockquote><blockquote>I want to be at the first page</blockquote><blockquote>When I enter on screen</blockquote><p>Lets do it our new test!</p><iframe src="" width="0" height="0" frameborder="0" scrolling="no"><a href="https://medium.com/media/d95424eac8cbfcbb94d97a53cfafbf42/href">https://medium.com/media/d95424eac8cbfcbb94d97a53cfafbf42/href</a></iframe><p>And now run the test again!</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/649/1*BJgDMBimDzzrDr1rLUtTtQ.png" /></figure><p>Ok! So now we are ensuring the component starting with currentPage 1 by default.</p><h4>Previous Button need to back a value</h4><blockquote>As a user</blockquote><blockquote>I want to click a button to see the previous page</blockquote><p>I think initialy in this test:</p><iframe src="" width="0" height="0" frameborder="0" scrolling="no"><a href="https://medium.com/media/44acec6cf167f6901c4ff74cca2a0ac1/href">https://medium.com/media/44acec6cf167f6901c4ff74cca2a0ac1/href</a></iframe><p>Oh, now we are using a new method from Vue Test Utils. We are setting the currentPage with value 4 on our wrapped paginator with the <strong>setData</strong> method.</p><p>Our test case should decrease a value, if we use currentPage with value default 1, it will be 0. I don’t want it, it will be ensure later with another test case, which we will restrict the previous button click when currentPage is 1. So we set to 4 to expect to the currentPage be 3!</p><p>Ok, running the test…</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/770/1*bE4qNjslPzMTimXQ3GwxJA.png" /></figure><p>Why the test fail and sum plus 1 resulting 5?</p><p>Because:</p><ol><li>We don’t create the <strong>previous button html tag;</strong></li><li>We don’t <strong>differ</strong> the <strong>previous</strong> and <strong>next</strong> <strong>button html.</strong></li></ol><p>Ok so we will add this requirements on component template</p><iframe src="" width="0" height="0" frameborder="0" scrolling="no"><a href="https://medium.com/media/6b664dce635903deff2773ad8ace01cf/href">https://medium.com/media/6b664dce635903deff2773ad8ace01cf/href</a></iframe><p>Running the tests again…</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/828/1*e_th44jOeX6l8xiQjwYEbg.png" /></figure><p>Oh our third test passed but our second fail… It is because our tests now are wrong. The two tests which click the buttons are finding by an button element and not by new refering classes. In the component we put the previous button above the next button.</p><p>The <strong>find method </strong>get the first element. So it will get the previous button, resulting passing the third test but failing the second which need to click on next button.</p><h4>Refactoring the tests to see passing!</h4><p>Below we only modified the selectors on <strong>paginator.find</strong> method to get the right button!</p><iframe src="" width="0" height="0" frameborder="0" scrolling="no"><a href="https://medium.com/media/5d29c7c5a3025dbc694c7171c5cdf9e4/href">https://medium.com/media/5d29c7c5a3025dbc694c7171c5cdf9e4/href</a></iframe><p>Look it pass!</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/721/1*_TY85mjsTZ4cAkZSWu5Fxw.png" /></figure><blockquote>NICE UH!!!</blockquote><h4>Recapping</h4><ol><li>We understand a little about the vue test utils using: <strong>shallowMount, find, setData, trigger, vm</strong></li><li>We work with TDD, for thinking better about our code and how we will start to develop and test!</li><li>And we covered three user stories with tests increasing quality to our code ❤</li></ol><h3>In the next story</h3><p>We will create restrictions to buttons, testing the elements visibility, html attributes and discovering new things about the vue test utils and jest assertions! Lets do it together!!!</p><p>See you soon :)</p><img src="https://medium.com/_/stat?event=post.clientViewed&referrerSource=full_rss&postId=fae5781a6bbb" width="1" height="1" alt="">]]></content:encoded>
        </item>
        <item>
            <title><![CDATA[Starting to test Vue with Jest part — I]]></title>
            <link>https://medium.com/@ramon_src/starting-to-test-vue-with-jest-part-i-2cf1d357df54?source=rss-bdb3ea296232------2</link>
            <guid isPermaLink="false">https://medium.com/p/2cf1d357df54</guid>
            <category><![CDATA[vuejs]]></category>
            <category><![CDATA[tutorial]]></category>
            <category><![CDATA[jest]]></category>
            <category><![CDATA[javascript]]></category>
            <category><![CDATA[testing]]></category>
            <dc:creator><![CDATA[Ramon Schmidt — @ramon_src]]></dc:creator>
            <pubDate>Tue, 27 Mar 2018 03:18:59 GMT</pubDate>
            <atom:updated>2018-07-24T13:20:38.020Z</atom:updated>
            <content:encoded><![CDATA[<figure><img alt="" src="https://cdn-images-1.medium.com/max/820/1*dOk8m2zDAv22hCh2JT__6w.png" /></figure><blockquote>Hi :)</blockquote><blockquote>In this story I will show you how to start tests with Vue and Jest and a previous understand about the library vue-test-utils!</blockquote><p>Well, I was reading and seeing everyone writing about Vue tests and using many frameworks and tools. But when we are starting with test we don’t know what tools the community is using and what is the best test runner for us.</p><p>So in my first post I did a <a href="https://medium.com/@ramon_src/newbie-in-vue-javascript-tests-many-tools-im-too-look-how-i-started-fb945707db8">research</a> to know what is test runners, what the community is using, and the pros and cons of each one for start this story :)</p><p>When I was looking for examples and tutorials of testing I came across two libraries: <a href="https://github.com/eddyerburgh/avoriaz">Avoriaz</a> and <a href="https://github.com/vuejs/vue-test-utils">vue-test-utils</a> \o/</p><p>I thought about choosing one to start the tests so I went to read the Avoriaz doc and WOW</p><blockquote><strong>DEPRECATED!</strong></blockquote><p>Sooo… I went back to answer my question WHY Avoriaz is deprecated?</p><p>The Avoriaz owner is <a href="https://github.com/eddyerburgh">eddyerburgh</a> and he is the same which contribute with vue-test-utils coincidence, right? Yeah, Avoriaz was so good for Vue js tests which Evan You (Vue JS Creator) and others colaborators brought the idea and Eddy, and transform the Avoriaz into an official Vue tool!</p><h4>Ok Vue Test Utils and what more?</h4><p>The documentation recommend Jest and Mocha, because the community already create plugins which runs with a little bit configuration the <a href="https://vuejs.org/v2/guide/single-file-components.html">Vue Single-File Components (SFC)</a>.</p><p>Things they consider for recommend the two test runners is: feature set, performance, and support for single-file component (SFC) pre-compilation.</p><h4>Nice! So what choose?</h4><p>Using vue webpack scheffold with vue-cli in another projects, I was choosing the Mocha + Karma for unit tests because they come configured as default. But now I’m in a project using Laravel + Vue and the Laravel configuration doesn’t come with vue test runners by default (bad practice :/ ).</p><p>So my <a href="https://medium.com/@ramon_src/newbie-in-vue-javascript-tests-many-tools-im-too-look-how-i-started-fb945707db8">first research of test runners</a> was really useful. I really did not want to configure all webpack and mocha configurations I was short and I don’t know so much about how to configure webpack and good practices.</p><p>So the <strong>Jest</strong> purpose fit perfectly</p><blockquote><em>Zero configuration testing platform </em>:)</blockquote><p>Wich let me motivated to try!</p><blockquote>All this stories serie will be back-end framework agnostic, so we will focus only in Vue and Tests!</blockquote><h4>Starting add Jest and Vue test utils to the project</h4><p>Remember this tutorial will work fine in all projects with vue using single file components and webpack configurations, disregard the folders which your project doesn’t have, focus only on jest test folders, paths and configurations.</p><p>The Vue Test Utils doc has a nice example how to install Jest and use with vue-test-utils.</p><p>So I simply followed all the <a href="https://vue-test-utils.vuejs.org/en/guides/testing-SFCs-with-jest.html">tutorial</a> steps and configure only things for my needed</p><p>For our first steps we only need to follow this commands wich the tutorial says to install:</p><iframe src="" width="0" height="0" frameborder="0" scrolling="no"><a href="https://medium.com/media/c844f59bc25e7880a3a0a379d59510dd/href">https://medium.com/media/c844f59bc25e7880a3a0a379d59510dd/href</a></iframe><p>Heeey don’t forget about the simpliest configurations in package.json which the tutorial explains, your package file should look like:</p><iframe src="" width="0" height="0" frameborder="0" scrolling="no"><a href="https://medium.com/media/6b64c46a9505c4d7d39631e26a4539b5/href">https://medium.com/media/6b64c46a9505c4d7d39631e26a4539b5/href</a></iframe><p>Hell Yeah! Now we can run the <strong><em>npm test… </em></strong>Without tests? Why?</p><p>Lets create our first test with Jest :)</p><p>The vue test utils and Jest give us a tip! They said, create your test’s files into the <strong>__tests__</strong> folders. And we can put this in many folders to explicit to us which all files in this have tests :)</p><p>Ok, baby steps… Why we don’t create a <strong>__tests__</strong> folder into components? We can refact later ;) And create a <strong>Hello.spec.js</strong> file into the folder.</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/310/1*xmayuVbGTo7AyIA7ycc8oA.png" /><figcaption>Should look like this!</figcaption></figure><p>Ok, lets write some code…</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/515/1*EkcpW86MKOpu8Cj6eQyMjA.png" /><figcaption>Simple example of a test file</figcaption></figure><p>Now we can run our first test using the npm command in your favorite terminal: <strong>npm test</strong></p><blockquote>VOILÁ!</blockquote><figure><img alt="" src="https://cdn-images-1.medium.com/max/491/1*mWMC7AlaVFwD5mA0Hdd8AA.png" /><figcaption>Your tests should look like this! Please disregard the path and name of the project ;D</figcaption></figure><p>All passed!</p><h4>Recapping</h4><ol><li>We understand which Jest and Vue Test Utils are simple and good tools to simple install and run our tests.</li><li>We know the main commands to install the tools and run the tests</li><li>And we make our first test and see it pass</li></ol><blockquote>Now we have our environment running tests!!!</blockquote><h3>In the next story</h3><p>We will create a real project and I will explain about the <strong>methods</strong> of <strong>jest</strong> and <strong>test utils</strong> which we will use to <strong><em>make</em></strong> <strong><em>real</em></strong> and <strong><em>significant</em></strong> tests together!!!</p><p>See you soon :)</p><img src="https://medium.com/_/stat?event=post.clientViewed&referrerSource=full_rss&postId=2cf1d357df54" width="1" height="1" alt="">]]></content:encoded>
        </item>
        <item>
            <title><![CDATA[Newbie in Vue Javascript tests? Many tools? I’m too, look how I started!]]></title>
            <link>https://medium.com/@ramon_src/newbie-in-vue-javascript-tests-many-tools-im-too-look-how-i-started-fb945707db8?source=rss-bdb3ea296232------2</link>
            <guid isPermaLink="false">https://medium.com/p/fb945707db8</guid>
            <category><![CDATA[framework]]></category>
            <category><![CDATA[javascript]]></category>
            <category><![CDATA[testing]]></category>
            <category><![CDATA[development]]></category>
            <category><![CDATA[vuejs]]></category>
            <dc:creator><![CDATA[Ramon Schmidt — @ramon_src]]></dc:creator>
            <pubDate>Sat, 23 Dec 2017 01:11:09 GMT</pubDate>
            <atom:updated>2017-12-23T01:11:09.530Z</atom:updated>
            <content:encoded><![CDATA[<p>As a newbie in tests and js tests, I was looking for tutorials in web about best practices to test components, ways to test vuejs, best practices in general, good test tools, tutorials about TDD and BDD and so on.</p><p>When I came across with the following things: Jest, AVA, Mocha, Chai, Sinon, Karma, Jasmine, Avoriaz, vue-test-utils, tape, jsdom, testcafe, PhantomJs…</p><p><em>OMFG</em>, where do I START?</p><p>So that is why I decided to write this story. My difficult to choose and understand what is the best and commonly test’s tools which the community use and what is the best choice to write Vue js tests!</p><p>The second thing that I think, is how can I understand that whole of contents and explain for you! Well… I can start categorizing everything!</p><p>Sooo let’s start!</p><h4>Test Runners</h4><p>Wow, what is that? Well test runners are libraries or tools with a bunch of settings for run yours test’s files. That has many command lines which you will configure how to run your tests, and show the results of assertions or failures.</p><p>Ok, I did a research and found this test runners for Javascript:</p><ul><li>tape</li><li>Jasmine</li><li>AVA</li><li>Mocha</li><li>Jest</li></ul><h4>Tape</h4><p>This framework maintains a fairly minimal core. The native report is poor, so many people use libraries to be more colorful and pretty. As well Tape is a really minimal test framework, have a lot of additional features that you can plug in, and mainly serves its purpose, to test.</p><h4>Jasmine</h4><p>Simple and complete BDD framework . So Jasmine has its own spy and assertions methods.</p><h4>AVA</h4><p>Takes advantage running tests concurrently, especially beneficial for IO heavy tests. The guys that created ensure that is a minimal, fast and clean framework, simple test syntax, enforces writing atomic tests and have no implicit globals.</p><h4>Mocha</h4><p>As the creators describe, this framework is a feature-rich Javascript test framework. Which has so many features this you can configure as you like. Many people argue whether this is good or not. Mocha for spies and assertions needs two dependencies Sinon and Chai wich we will talk about later.</p><h4>Jest</h4><p>From Facebook, Jest is a <em>“Zero configuration testing platform”.</em> Runs in parallel like AVA to maximize performance, has automatic global state resets for every test, easily create code coverage reports… So Jest is an another complete and rich framework but you don’t need to CONFIGURE!</p><h4>About Behavior Driven Development (BDD)</h4><p>If you don’t know what is BDD, I explain! It was inspired by agile methodologies with the purpose to approximate business language in technical context.</p><p>As well as tests must be used like documentation of your code base, BDD brings the agile approach of business documentation: <em>acceptance criteria and scenarios</em>, to code.</p><iframe src="" width="0" height="0" frameborder="0" scrolling="no"><a href="https://medium.com/media/19e3698d71b7e1617ed8f9d0d708c30f/href">https://medium.com/media/19e3698d71b7e1617ed8f9d0d708c30f/href</a></iframe><p>Newer BDD frameworks are using specification language rather than user stories. Where the developers can write tests with a free format using method <strong><em>describe</em></strong> to describe the suite of tests and<em> </em><strong><em>it</em></strong><em> </em>to describe what that unit test must do.</p><iframe src="" width="0" height="0" frameborder="0" scrolling="no"><a href="https://medium.com/media/3b7bc45211857cf2a82bbeb80ce50294/href">https://medium.com/media/3b7bc45211857cf2a82bbeb80ce50294/href</a></iframe><h3>FATALITY</h3><p>For my conclusions everyone hate and love <strong>Mocha</strong>.<strong> </strong>Love their rich features, active community, performance. But hate the global functions and shared states, much configuration to start and serializing tests.</p><p><strong>AVA</strong> says they are fast but this <a href="https://medium.com/dailyjs/javascript-test-runners-benchmark-3a78d4117b4">benchmark</a> don’t say the same. But about IO, I really don’t know how fast he is.</p><p>Many people who defend <strong>tape</strong> are sure about the minimal framework is all about:<a href="https://medium.com/javascript-scene/why-i-use-tape-instead-of-mocha-so-should-you-6aa105d8eaf4"> <em>Test assertions should be dead simple, &amp; completely free of magic</em></a><em>.</em></p><p>Others like <strong>Jasmine</strong>, for your simplicity and BDD native language. Jasmine and Tape have a <a href="https://vitalets.github.io/js-testrunners-bench/index.html">good performance</a>.</p><p>At least and no less important <strong>Jest</strong>! Is another complete framework ready-to-use. The Jest’s philosophy is provide no configuration tools, because they believe the engineers write more tests, which in turn results in more stable and healthy code.</p><h3>Conclusion</h3><p>Well, now I learned and did my first share!!! With that simple story to decrease my little pain about that huge javascript ecosystem. I think that me and you are in the same way, so lets learn together!</p><p>Now we know a little bit about the tools, test runners itself and BDD!!! \o/</p><p>The next will be about Avoriaz and vue-test-utils and a little start about principles to test components.</p><p><em>Heey, do you like how I wrote? Feel free to give me some tips and comments!</em></p><img src="https://medium.com/_/stat?event=post.clientViewed&referrerSource=full_rss&postId=fb945707db8" width="1" height="1" alt="">]]></content:encoded>
        </item>
    </channel>
</rss>