如何将jasmine与服务器端打字稿项目一起使用?

时间:2017-05-16 03:41:55

标签: node.js typescript testing jasmine

我有一个项目,包含我的应用程序的服务器和客户端的模块,每个模块都使用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

1 个答案:

答案 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