嗨,我是玩笑和單元測試的新手。我想問如何使用 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")
請告訴我您是否知道此問題的解決方案,謝謝您的寶貴時間
據我所知,
setValue
是異步的,所以你可能需要設定它await input.setValue('範例文字')