[英]Autotests with webpack-dev-server
我对话题很困惑。
我使用webpack-dev-server开发了一种惰性模块组装器。 它最终可以工作,但有时我们需要更多保证。 这就是为什么我需要一些测试。 任务是使它们成为一种自动测试。
现在,服务器启动的代码看起来像这样(我省略了过多的参数)。
import webpack from "webpack"; import webpackConfig from "../webpack.config.js"; import webpackCompileConfig from "../webpack-compiler.config.mjs"; import WebpackDevServer from "webpack-dev-server"; webpack(webpackConfig(mode, dirname, masterPath)).run(function(err) { if (err) throw err; const compileOpt = { // pack of compiler options }; const compiler = webpack(webpackCompileConfig(compileOpt)); const server = new WebpackDevServer(compiler, { // pack of server options }); server.listen(port, "0.0.0.0", err => { if (err) throw err; console.log(`Starting root server on 0.0.0.0:${port}`); }); });
它启动并正常工作:获取一些文件请求,将必要的模块与webpack捆绑在一起,并将其发送给请求者。
我要开始的简单测试是在组装后检查是否有文件。
假定逻辑为:
npm run test
问题是我很少有任何测试的经验,因此,感谢您的帮助。
===
我现在使用它的方式(扰流器:手动)
互联网对我唯一的帮助。
mocha
测试server.js
var chai = require("chai"); var chaiHttp = require("chai-http"); const should = chai.should(); chai.use(chaiHttp); describe("Test file existence", function() { it("units", done => { chai .request("http://localhost:9000") .get("/units/awesome-project/index.js") .end((err, res) => { res.should.have.status(200); done(); }); }); // another 'it()'s to test other files });
是的,它有效。 但是我想要更多的自动化。 只是
我准备进行对话。
好吧..只是伤心,没人问。
无论如何,我自己找到了答案。 我什至不知道它是如此的容易。 似乎所有我需要的都写在这里: https : //github.com/mochajs/mocha/wiki/Using-mocha-programmatically
因此,最终结果与此类似:
import fs from "fs"; import path from "path"; import Mocha from "mocha"; const mocha = new Mocha(); const testDir = `${config.dirname}/test/tests`; fs.readdirSync(testDir) .filter(file => file.match(/\\.js$/)) .forEach(file => { mocha.addFile(path.join(testDir, file)); }); // somewhere before the devserver start const runner = mocha.timeout(30000).run(); runner.on("end", () => { process.exit(); });
我在发布此问题的那天就找到了它,但是希望其他人能够回答(比较解决方案)。
最好的祝福,
尼克·里默
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.