使用Vitest 0.32.0 + Node JS + Express进行测试时出现ECONNREFUSED错误

9rbhqvlz  于 2023-06-29  发布在  Node.js
关注(0)|答案(1)|浏览(143)

我遇到了一个问题,而我的快递后端运行测试使用Axios的请求和Vitest的测试执行。以下是详细信息:
1.我有我的后端运行在本地主机,端口3000,使用Express。
1.我使用Vitest来测试我实现的各种端点。
1.当我在我的测试文件中添加更多的测试用例时,问题就出现了。最初,当我第一次运行测试时,一切都运行得很好。
1.然而,在添加更多测试并保存它们之后,我的vitest测试重新启动(如预期的那样),但抛出以下错误:

Serialized Error: Object {
"address": "::1",
"code": "ECONNREFUSED",
"config": Object {
"adapter": [Array],
"baseURL": "http://localhost:3000/api/users"
...

如果我使用Vitestnpm run test的脚本重新启动我的Vitest服务器,第一个测试用例再次工作,但当我添加更多测试时,问题再次出现。
我已经检查了Axios的配置,但一切似乎都很正常。此外,如果我从vitest测试文件customers.test.js中的一个文件向端点发出获取请求,则一切正常。
提前感谢您提供的任何帮助!

holgip5t

holgip5t1#

在更深入地分析了这个问题之后,我注意到每当我添加更多的测试并保存它们时,我的服务器也会重新启动。发生这种情况是因为我使用nodemon来监视代码更改。要修复此问题并继续使用nodemon,您只需将以下配置添加到package.json文件中:

{
  "name": "myName",
  "type": "module",
  ...
  "nodemonConfig": {
    "ignore": ["test/**/*.test.js"]
  }
}

在这种情况下,您可以将“test/**/*. test.js”替换为适合您需要的任何内容。在我的例子中,我的测试位于“test/”目录中,分布在子文件夹中,所有测试文件都遵循“name.test.js”命名结构还有其他方法可以将此配置添加到nodemon,您可以参考nodemon文档中的nodemon文档

相关问题