Javascript 如何在hapi中模拟服务器错误
我已按如下方式设置了hapi服务器:Javascript 如何在hapi中模拟服务器错误,javascript,node.js,testing,mocking,hapijs,Javascript,Node.js,Testing,Mocking,Hapijs,我已按如下方式设置了hapi服务器: 'use strict' // node modules const Hapi = require('hapi') const Inert = require('inert') const Path = require('path') // server config const server = new Hapi.Server() const port = 4000 server.connection({ port: port }) // Hapi
'use strict'
// node modules
const Hapi = require('hapi')
const Inert = require('inert')
const Path = require('path')
// server config
const server = new Hapi.Server()
const port = 4000
server.connection({
port: port
})
// Hapi plugins
const plugins = [
Inert
]
server.register(plugins, (err) => {
if (err) {
throw err
}
server.route([
{
method: 'GET',
path: '/',
handler: (request, reply) => {
reply.file(Path.join(__dirname, '../front/production/index.html'))
}
},
{
method: 'GET',
path: '/{param*}',
handler: {
directory: {
path: 'front/production'
}
}
}
])
})
module.exports = server
我已经为它编写了测试,但在能够覆盖这一行时遇到了一个问题:
if (err) {
throw err <----
}
我一直在看hapi api文档,无法确定如何涵盖这一行,如果有任何帮助,我将不胜感激
让我知道我是否可以为我的问题添加更多的描述,或者包括我在测试中尝试过的内容(如果您想查看更多我的测试文件,请让我知道)该方法正在注册插件,如果它无法完成我从您的代码中理解的工作,则会触发错误,您是否尝试过传递错误的值而不是plugins数组?谢谢您的快速回答,但我已经尝试过修改服务器以包含一个它找不到的插件,但行仍然没有run@RabeeAbdelWahab但你的想法肯定是正确的lines@Dansmith您在回调中抛出了一个错误,它可能会失败:@RomanDibikhin我不明白,如果我在抛出错误行上写console.log('ERROR'),我无法在任何地方记录它(基本上该行没有运行)。该方法正在注册插件,如果它不能完成我从代码中理解的任务,就会触发错误,您是否尝试过传递错误的值而不是plugins数组?谢谢您的快速回答,但我已经尝试过修改服务器以包含一个它找不到的插件,但行仍然没有run@RabeeAbdelWahab但你的想法肯定是正确的lines@Dansmith您在回调中抛出了一个错误,它可能会失败:@RomanDibikhin我不明白,如果我在抛出错误行上写console.log('ERROR'),我无法在任何地方记录它(基本上该行没有运行)
server.inject({method: 'GET', url: '/notanendpoint'}...
server.inject({method: 'NOTMETHOD', url: '/'}...
server.inject({method: 'GET', url: '/', simulate: {error: true}}...