19

Vuejs は比較的新しく、そのコンポーネントをテストしています。テストには vue-test-utils と jest を使用します。以下のエラー テストログの取得

.vue ファイルは、テンプレート、コンポーネント、およびスタイリングで構成されます。以下は、エラーが発生する SignupLayout.vue の一部です -

<style lang="sass">
@import '../stylesheets/colors'
html[path="/signup"], html[path="/login"]
  height: 100%
  background-image: url("../assets/background.jpg")
  background-size: cover
  background-position: center
  background-repeat: no-repeat
  overflow: hidden

  #signup-layout
    #change-language-button
      .lang-menu
        color: $alto

</style>

テストファイル -

import Vue from 'vue';
import Vuex from 'vuex'
import SignupLayout from '../src/components/SignupLayout.vue';
import { mount, shallow, createLocalVue } from '@vue/test-utils';

const localVue = createLocalVue()

localVue.use(Vuex)

jest.resetModules()

describe('Signup.test.js', () => {
    let cmp
    let actions
    let store
    let getters
    let state

    beforeEach(() => {


        state = {
            email: 'abc@gmail.com'
        }
 
        getters = {
            CURRENT_USER_EMAIL: state => state.email
        }

        store = new Vuex.Store({
            getters
        })


    })

    it('has received ["Login"] as the title property', () => {
        cmp = shallow(SignupLayout, {
            store,
            localVue,
            propsData: {
                title: ['Login']
            },
            data: {
                email: 'abc@dsf.com'
            }
        })
        cmp.update()
        expect(cmp.vm.title).toEqual(['Login'])
    })


})

$t が sass と何の関係があるのか​​混乱しています。どんな助けでも大歓迎です。ここでしばらく立ち往生。詳細が必要な場合はお知らせください。前もって感謝します

4

4 に答える 4

0

現在 Vue 3 で試すことができますが、私の場合は助けになりました:

import { config } from '@vue/test-utils';

config.global.mocks.$t = phrase => phrase;

なぜなら

現時点での構成構造

于 2022-01-13T05:39:07.910 に答える