我是NodeJS
和TypeScript
的新手。
所以,我现在有点卡住了。
我的项目配置是这样的。
+------------+---------------------------+
| | purpose |
+------------+---------------------------+
| Webpack | create a bundle JS file |
| TypeScript | ES5 transpile |
| Mocha | TDD test |
+------------+---------------------------+
我正在尝试运行用Mocha
编写的TypeScript
测试代码。
并且此测试使用的是XMLHttpRequest
模块。
我的项目结构如下。
|_ dist (for bundle file)
|_ script
| \_ lib
| \_ ajax.ts (my module)
\_ test
\_ script
\_ lib
\_ ajax.spec.ts (to test my module)
我发现XMLHttpRequest
模块是用于浏览器的。
我可以替换它来安装npm模块xmlhttprequest
。
但是,我需要检查响应是否已收到以及回调函数是否已执行。
运行测试后,我成功打开了请求,但是无法获得任何响应并且回调函数未执行。
因此,我决定在浏览器上测试XMLHttpRequest
模块。
幸运的是,我找到了running Mocha Tests in a browser的教程。
但是,我的问题是我的Mocha
代码是用TypeScript
编写的。
所以我认为我的测试过程如下。
- 编译
ajax.spec.ts
,编译为ajax.js
和ajax.spec.js
。- 使用
JS
为ajax.js
和ajax.spec.js
制作一个Webpack
捆绑文件。- 制作一个
html
类似的教程。- 打开
html
并检查我的测试结果。
我可以吗我应该捆绑编译文件吗?
是否有示例或教程用于在浏览器中运行以Mocha
编写的TypeScript
测试?
谢谢。
答案 0 :(得分:0)
安装依赖项:
npm install mocha ts-node -g
npm install mocha ts-node --save-dev
安装类型定义:
npm install @types/mocha --save-dev
使用npm test
命令运行测试。将以下脚本添加到您的package.json
{
"scripts": {
"test": "mocha -r ts-node/register test/**/*.spec.ts", // correct me if I mentioned the wrong directory to the tests folder.
},
}