Software Alternatives, Accelerators & Startups

An opinionated testing approach for VueJS

Vue.js Vite
  1. 1
    Reactive Components for Modern Web Interfaces
    Pricing:
    • Open Source
    Import { describe, it, expect, vi } from 'vitest' Import { mount } from '@vue/test-utils' Import HelloWorld from './HelloWorld.vue' Vi.mock('./useHelloWorld', () => ({ useHelloWorld: () => ({ getTimeBasedGreeting: vi.fn().mockReturnValue('Good morning'), }), })) Describe('HelloWorld', () => { it('renders proper greeting with provided message', () => { const wrapper = mount(HelloWorld, { props: { msg: 'World', }, }) expect(wrapper.text()).toContain('Good morning, World') }) it('contains links to Vite and Vue', () => { const wrapper = mount(HelloWorld, { props: { msg: 'World', }, }) const links = wrapper.findAll('a') expect(links[0].attributes('href')).toBe('https://vite.dev/') expect(links[1].attributes('href')).toBe('https://vuejs.org/') }) it('applies correct CSS classes', () => { const wrapper = mount(HelloWorld, { props: { msg: 'World', }, }) expect(wrapper.find('h1').classes()).toContain('green') expect(wrapper.find('.greetings')).toBeTruthy() }) }).

    #Front-End Frameworks #Javascript UI Libraries #JS Library 395 social mentions

  2. 2
    Next Generation Frontend Tooling
    Pricing:
    • Open Source
    Import { describe, it, expect, vi } from 'vitest' Import { mount } from '@vue/test-utils' Import HelloWorld from './HelloWorld.vue' Vi.mock('./useHelloWorld', () => ({ useHelloWorld: () => ({ getTimeBasedGreeting: vi.fn().mockReturnValue('Good morning'), }), })) Describe('HelloWorld', () => { it('renders proper greeting with provided message', () => { const wrapper = mount(HelloWorld, { props: { msg: 'World', }, }) expect(wrapper.text()).toContain('Good morning, World') }) it('contains links to Vite and Vue', () => { const wrapper = mount(HelloWorld, { props: { msg: 'World', }, }) const links = wrapper.findAll('a') expect(links[0].attributes('href')).toBe('https://vite.dev/') expect(links[1].attributes('href')).toBe('https://vuejs.org/') }) it('applies correct CSS classes', () => { const wrapper = mount(HelloWorld, { props: { msg: 'World', }, }) expect(wrapper.find('h1').classes()).toContain('green') expect(wrapper.find('.greetings')).toBeTruthy() }) }).

    #Software Development #Web Frameworks #Developer Tools 465 social mentions

Discuss: An opinionated testing approach for VueJS

Log in or Post with