unit-testing - 使用 Vue test-utils 和 jest 测试特定输入元素的值

标签 unit-testing vue.js jestjs tdd vue-test-utils

使用 Vue test-utils,我需要测试通过 prop 填充的特定输入元素的值。我已经想出如何使用它的 id 找到元素:

  it("Address should render Street 1", () => {
     const street1 = wrapper.find('#street1')              // this works
     expect(street1).toEqual('223 Some Street Rd')         // nope
     expect(street1.text()).toEqual('223 Some Street Rd')  // seemed good at the time
     expect(street1.value()).toEqual('223 Some Street Rd') // grasping at straws - no love 
  });

但我一直无法弄清楚如何访问输入的“值”。

提前感谢任何帮助

最佳答案

我假设您的组件看起来像这样:

 <input id="street1" type="text" v-model="street1" >

那你可以试试

   expect(street1.element.value).toEqual('223 Some Street Rd');

例如

import { mount } from "@vue/test-utils";
import Input from "./Input";

describe("Input", () => {
  const mountInput = (propsData = {}) => {
    return mount(Input, {
      propsData
    });
  };

  it("Address should render Street 1", () => {
    const wrapper = mountInput();
    const street1 = wrapper.find('#street1') 
    expect(street1.element.value).toEqual('223 Some Street Rd');
  });
});

关于unit-testing - 使用 Vue test-utils 和 jest 测试特定输入元素的值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/63256050/

相关文章:

javascript - 我的单元测试未显示在测试资源管理器中

javascript - 如何在 NodeJS 和 Vuejs 中显示主页上的帖子总数

reactjs - 无法从 'react/lib/ReactCurrentOwner' 找到模块 'ReactFiberTreeReflection.js'

javascript - 使用 Jest 测试 React 组件

express - Jest 错误 : Mongoose: looks like you're trying to test a Mongoose app with Jest's default jsdom test environment

用于编译测试的 CMake 和 CMocka 标准断言

c# - 为什么当我比较两个空列表时测试 'Assert.AreEqual' 失败了?

unit-testing - 用于模拟 JQuery UI 可排序列表拖动的 Javascript 测试

javascript - Vue onclick事件返回错误的srcElement

javascript - vue-chartjs 无法渲染折线图