文字欄位更新在 Vue 測試實用程式中不起作用(開玩笑)
P粉604669414
P粉604669414 2024-03-26 08:51:55
0
1
374

嗨,我是玩笑和單元測試的新手。我想問如何使用 vue test utils 設定值文字輸入。

很快我就有了用於文字輸入的自訂元件,這是我的程式碼

<input
    v-model="local_value"
    @keyup.enter="submitToParent"
    :class="input_class"
    :id="id"
    :disabled="is_disabled"
    :maxlength="max_length"
    :placeholder="placeholder"
    :autocomplete="(is_autocomplete) ? 'on' : 'off'"
    :name="id"
    :ref="id"
  />

這是我的測試

it("type something on field", async () => {
        const wrapper = shallowMount(TextInput, {
            propsData: {
                id: "my_input",
            }
        })

        // find component (its work properly) and I want to try inserting some text
        const input = wrapper.findComponent({ref: "my_input"})
        input.element.value = "sample text"
        input.setValue("sample text")

        // the value still empty string (""), idk what happens with my code
        console.log(wrapper.vm.local_value)
        expect(wrapper.vm.local_value).toBe("sample text")

請告訴我您是否知道此問題的解決方案,謝謝您的寶貴時間

P粉604669414
P粉604669414

全部回覆(1)
P粉476883986

據我所知, setValue 是異步的,所以你可能需要設定它 await input.setValue('範例文字')

熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板