Javascript 如何在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

我已按如下方式设置了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}}...