【问题标题】:Can you implement Vue Unit tests without a component using purely the Vue Instance?你能在没有组件的情况下仅使用 Vue 实例来实现 Vue 单元测试吗?
【发布时间】:2017-08-07 12:46:15
【问题描述】:

我简要查看了Vue Unit Testing上的文档

它说:

任何与基于模块的构建系统兼容的东西都可以工作

文档描述了测试组件的方法

就我而言,我没有使用组件。 我正在将vue.js 添加到页面并创建一个新的 Vue 实例。

new Vue({
  el: '#app',
  data: {
    ....
  }
});

【问题讨论】:

    标签: unit-testing vue.js vue-component


    【解决方案1】:

    是的,你可以。这是一个使用 QUnit 的简单示例,我们在其中测试“Hello, World!”留言:

    QUnit.test('"Hello, World!" is displayed', function (assert) {
      assert.equal(vm.$data.message, 'Hello, World!');
      assert.equal(document.querySelector('h1').textContent, 'Hello, World!');
    });
    <link href="https://cdnjs.cloudflare.com/ajax/libs/qunit/2.4.0/qunit.min.css" rel="stylesheet">
    
    <div id="app">
      <h1>{{ message }}</h1>
    </div>
    
    <div id="qunit"></div>
    <div id="qunit-fixture"></div>
    
    <script src="https://cdnjs.cloudflare.com/ajax/libs/vue/2.4.2/vue.min.js"></script>
    <script src="https://cdnjs.cloudflare.com/ajax/libs/qunit/2.4.0/qunit.min.js"></script>
    <script>
      var vm = new Vue({
        el: '#app',
        data: {
          message: 'Hello, World!'
        }
      });
    </script>

    【讨论】:

    • 好的,我试试这个看看效果如何。没有命令行选项吗?
    • 如果你选择 QUnit,你真的不需要 CLI,因为你可以在浏览器环境中运行测试(正如你在我的 JSFiddle 中看到的那样)。
    • 嗯,我觉得这可能会导致代码重复。因为我将拥有一个带有 qunit 的 js 文件,并且必须复制到另一个 production 文件
    猜你喜欢
    • 2020-12-25
    • 2017-08-13
    • 2020-02-25
    • 2019-03-20
    • 1970-01-01
    • 2019-02-09
    • 2020-02-16
    • 2023-01-03
    • 2018-03-11
    相关资源
    最近更新 更多