如何测试Quasar(作为Vue CLI插件)?

时间:2019-11-21 11:35:36

标签: javascript unit-testing vue.js quasar-framework

我有Vue项目,在这里使用Quasar Framework。我用作Vue CLI Plugin的最后一个,它工作得很好(code repolive url)。

现在,我想在项目中添加一些单元测试(使用笑话),但是遇到了一个我不明白的问题。

我尝试为NetworkWatcher组件编写一个简单的测试。该组件使用QIcon组件,我必须在测试中将其导入:

import { Quasar, QIcon } from "quasar";
import NetworkWatcher from "@/components/NetworkWatcher.vue";

const localVue = createLocalVue();

localVue.use(Vuex);
localVue.use(Quasar, { components: { QIcon } });

describe("NetworkWatcher.vue", () => {});

在这种情况下,我有一个错误:

enter image description here

经过一些实验和搜索,我尝试了下一个

import * as AllQuasar from "quasar";
const { Quasar } = AllQuasar;

const components = Object.keys(AllQuasar).reduce((object, key) => {
  const val = AllQuasar[key];
  if (val && val.component && val.component.name != null) {
    object[key] = val;
  }
  return object;
}, {});

const localVue = createLocalVue();

localVue.use(Vuex);
localVue.use(Quasar, { components });

它有效,我可以这样。.但是我不喜欢它。好像错了!那么为什么第一种方法行不通?

我知道什么Quasar拥有有关“ Quasar CLI”版本的良好文档,甚至拥有自己的测试运行程序。但是我想使用“ Vue CLI插件”版本。

1 个答案:

答案 0 :(得分:0)

尝试使用以下代码。由于它无法正确解决类星体依赖性。

select col1, col2
from (select row_number() over (order by coalesce(col1,'π') asc) as rn, col1 from test) q1
left join (select row_number() over (order by coalesce(col2,'π') asc) as rn, col2 from test where col2 is not null) q2
  on q1.rn = q2.rn
order by q1.rn;