我有一个项目,包含我的应用程序的服务器和客户端的模块,每个模块都使用webpack构建。我正在使用Karma和Jasmine来测试我的客户端(使用Angular),我想使用Jasmine来测试服务器,这也是用打字稿编写的。
不幸的是,我在网上找到的唯一指南使用了jasmine-node(过去几年没有触及)而不是jasmine-npm。任何人都可以提出一种方法,我可以使用Jasmine或替代方案在我的项目中进行测试吗?
我尝试编写jasmine.json
文件,或使用init
cli命令编辑jasmine生成的文件,但这似乎不适用于typescript文件。
目前,我的项目结构是这样的:
├── client
│ ├── karma.conf.js
│ ├── protractor.conf.js
│ ├── src
│ ├── tsconfig.json
│ └── webpack.config.js
├── server
│ ├── src
│ ├── tsconfig.json
│ └── webpack.config.js
└── node_modules
答案 0 :(得分:2)
肯定可以使用茉莉花进行服务器端测试。按照以下步骤操作即可:
1)在你的package.json中添加以下dev依赖项:
"jasmine": "latest",
"jasmine-core": "latest",
2)设置jasmine.json
以便它包含您要运行测试的所有文件等。
{
"spec_dir": "dist/dev/server/spec",
"spec_files": [
"unit/server/**/*[sS]pec.js"
],
"helpers": []
}
3)添加将引导您的测试过程的unit.ts
:
const Jasmine = require("jasmine");
let j = new Jasmine();
j.loadConfigFile("./jasmine.json");
j.configureDefaultReporter({
showColors: true
});
j.execute();
现在您要做的就是在nodejs中编译并运行生成的unit.js
。