nodejs测试新手。
我有一个运行一些复杂服务器端逻辑的nodejs服务器,我正在考虑为该代码构建一个单元测试运行器。我 不 想要运行服务器并测试发送请求,因为它没有公开我想要在服务器端测试的所有模块和功能。这更像是集成测试。我只想导入那些作为AMD模块编写的服务器端文件,并在单元测试中逐个调用它们的函数。
最好的方法是做什么?
答案 0 :(得分:1)
您需要首先在当前项目中安装unit-test和assertion框架。然后你还想添加requirejs(r.js)。
我们目前正在使用mochajs进行单元测试,should作为断言库。两者都有很好的采用和功能支持测试Node.js.
npm install mochajs shouldjs requirejs --save-dev
这将向本地node_modules添加三个包,并将它们保存在package.json的devDependencies中。
继续在项目中设置单元测试目录并创建一个新的测试文件,[your_module_name] _test.js:
const should = require('should'),
foo = require('foo');
describe('foo', () => {
it('returns the letter a', () => {
foo().should.eql('a');
});
});
在测试文件中,您将需要测试模块,然后照常进行单元测试。
然后,您可以通过r.js
运行测试./node_modules/requirejs/bin/r.js [your_test_dir]/[your_module_name]_test.js
您还可以全局安装mochajs,然后只需运行mocha命令,而不是使用本地node_modules中的bin。
祝你好运,希望这会有所帮助。