【发布时间】:2019-11-05 00:18:41
【问题描述】:
我想以 TDD 方式(--watch 模式)运行 mocha 测试,效果很好。 但我有一个“全局 setup.js”文件,它模拟了大多数测试使用的应用程序的一部分。
如果我第一次正常运行测试或在监视模式下运行测试,一切都很好,因为安装脚本已加载。
但是,如果测试或源文件发生更改,则只有相关的测试会运行(理论上听起来很棒),但由于我的全局模拟脚本没有运行,因此测试会失败。
即使在 mocha 的监视模式下,我如何每次都执行设置脚本(每次整体测试运行一次)?
这是我使用的命令:
vue-cli-service test:unit --watch
# pure mocha would be (I assume)
mocha 'tests/**/*.spec.js' --watch
我已尝试使用 --require 和 --file 选项,但它们也不会在文件更改时重新运行。
我正在使用通过 VUE CLI 创建的 vue 应用程序,这就是我的代码的外观
// setup.spec.js
import { config } from "@vue/test-utils";
before(() => {
config.mocks["$t"] = () => {};
});
// some_test.spec.js
import { expect } from "chai";
import { shallowMount } from "@vue/test-utils";
import MyComp from "@/components/MyComp.vue";
describe("MyComp", () => {
it("renders sth", () => {
const wrapper = shallowMount(MyComp);
expect(wrapper.find(".sth").exists()).to.be.true;
});
});
【问题讨论】:
标签: javascript typescript unit-testing vue.js mocha.js