Hacktoberfest 2026:维护者为十月标记出来的 issue,仍然开放、适合新手。 浏览 Hacktoberfest issue

test failures in nest

未关闭
#156 0 条评论 0 个 reaction 已指派 0 人 在 GitHub 查看

维护者通常 1 天内回复

还没有人认领这个 Issue。

评估

难度
4/5
预计耗时
3-5 天
新手友好度
30/100
Issue 类型
缺陷
描述清晰度
需要澄清
活跃度
停滞
技术栈
typescript

调研方向

使用 npm test 重现报告,然后检查 traces 中提到的 AppMap recorder 路径:parameter.ts、event.ts、Recording.ts 和 recorder.ts。将 packages/common/test/module-utils/configurable-module.builder.spec.ts 以及 packages/core/test/injector/container.spec.ts 和 instance-loader.spec.ts 中的失败,与 Nest 源代码中的对应位置进行比较;当报告的测试在 recording 下不再失败时,即表示完成。

由索引模型根据 Issue 内容生成。

描述

bug

Running npm test in nestjs/nest, some tests fail:

  1) ConfigurableModuleBuilder
       setExtras
         should apply module definition transformer function and return typed builder:
     Error: "ASYNC_OPTIONS_TYPE" is not supposed to be used as a value.
      at Object.get (packages/common/module-utils/configurable-module.builder.ts:417:17)
      at isSimpleObject (/Users/ajp/.npm/_npx/c76987c9a3c183fa/node_modules/appmap-node/src/parameter.ts:99:57)
      at parameterSchema (/Users/ajp/.npm/_npx/c76987c9a3c183fa/node_modules/appmap-node/src/parameter.ts:93:12)
      at parameter (/Users/ajp/.npm/_npx/c76987c9a3c183fa/node_modules/appmap-node/src/parameter.ts:9:42)
      at optParameter (/Users/ajp/.npm/_npx/c76987c9a3c183fa/node_modules/appmap-node/src/parameter.ts:65:10)
      at makeReturnEvent (/Users/ajp/.npm/_npx/c76987c9a3c183fa/node_modules/appmap-node/src/event.ts:38:31)
      at Recording.functionReturn (/Users/ajp/.npm/_npx/c76987c9a3c183fa/node_modules/appmap-node/src/Recording.ts:55:34)
      at /Users/ajp/.npm/_npx/c76987c9a3c183fa/node_modules/appmap-node/src/recorder.ts:85:17
      at Array.map (<anonymous>)
      at ConfigurableModuleBuilder.record (/Users/ajp/.npm/_npx/c76987c9a3c183fa/node_modules/appmap-node/src/recorder.ts:84:37)
      at ConfigurableModuleBuilder.createTypeProxy (packages/common/module-utils/configurable-module.builder.ts:414:36)
      at ConfigurableModuleBuilder.<anonymous> (packages/common/module-utils/configurable-module.builder.ts:312:34)
      at ConfigurableModuleBuilder.record (/Users/ajp/.npm/_npx/c76987c9a3c183fa/node_modules/appmap-node/src/recorder.ts:81:24)
      at ConfigurableModuleBuilder.build (packages/common/module-utils/configurable-module.builder.ts:304:36)
      at Context.<anonymous> (packages/common/test/module-utils/configurable-module.builder.spec.ts:15:11)
      at processImmediate (node:internal/timers:483:21)

  2) ConfigurableModuleBuilder
       setClassMethodName
         should set static class method name and return typed builder:
     Error: "ASYNC_OPTIONS_TYPE" is not supposed to be used as a value.
      at Object.get (packages/common/module-utils/configurable-module.builder.ts:417:17)
      at isSimpleObject (/Users/ajp/.npm/_npx/c76987c9a3c183fa/node_modules/appmap-node/src/parameter.ts:99:57)
      at parameterSchema (/Users/ajp/.npm/_npx/c76987c9a3c183fa/node_modules/appmap-node/src/parameter.ts:93:12)
      at parameter (/Users/ajp/.npm/_npx/c76987c9a3c183fa/node_modules/appmap-node/src/parameter.ts:9:42)
      at optParameter (/Users/ajp/.npm/_npx/c76987c9a3c183fa/node_modules/appmap-node/src/parameter.ts:65:10)
      at makeReturnEvent (/Users/ajp/.npm/_npx/c76987c9a3c183fa/node_modules/appmap-node/src/event.ts:38:31)
      at Recording.functionReturn (/Users/ajp/.npm/_npx/c76987c9a3c183fa/node_modules/appmap-node/src/Recording.ts:55:34)
      at /Users/ajp/.npm/_npx/c76987c9a3c183fa/node_modules/appmap-node/src/recorder.ts:85:17
      at Array.map (<anonymous>)
      at ConfigurableModuleBuilder.record (/Users/ajp/.npm/_npx/c76987c9a3c183fa/node_modules/appmap-node/src/recorder.ts:84:37)
      at ConfigurableModuleBuilder.createTypeProxy (packages/common/module-utils/configurable-module.builder.ts:414:36)
      at ConfigurableModuleBuilder.<anonymous> (packages/common/module-utils/configurable-module.builder.ts:312:34)
      at ConfigurableModuleBuilder.record (/Users/ajp/.npm/_npx/c76987c9a3c183fa/node_modules/appmap-node/src/recorder.ts:81:24)
      at ConfigurableModuleBuilder.build (packages/common/module-utils/configurable-module.builder.ts:304:36)
      at Context.<anonymous> (packages/common/test/module-utils/configurable-module.builder.spec.ts:32:18)
      at processImmediate (node:internal/timers:483:21)
  1. ConfigurableModuleBuilder
    setFactoryMethodName
    should set configuration factory class method name and return typed builder:
    Error: "ASYNC_OPTIONS_TYPE" is not supposed to be used as a value.
    at Object.get (packages/common/module-utils/configurable-module.builder.ts:417:17)
    at isSimpleObject (/Users/ajp/.npm/_npx/c76987c9a3c183fa/node_modules/appmap-node/src/parameter.ts:99:57)
    at parameterSchema (/Users/ajp/.npm/_npx/c76987c9a3c183fa/node_modules/appmap-node/src/parameter.ts:93:12)
    at parameter (/Users/ajp/.npm/_npx/c76987c9a3c183fa/node_modules/appmap-node/src/parameter.ts:9:42)
    at optParameter (/Users/ajp/.npm/_npx/c76987c9a3c183fa/node_modules/appmap-node/src/parameter.ts:65:10)
    at makeReturnEvent (/Users/ajp/.npm/_npx/c76987c9a3c183fa/node_modules/appmap-node/src/event.ts:38:31)
    at Recording.functionReturn (/Users/ajp/.npm/_npx/c76987c9a3c183fa/node_modules/appmap-node/src/Recording.ts:55:34)
    at /Users/ajp/.npm/_npx/c76987c9a3c183fa/node_modules/appmap-node/src/recorder.ts:85:17
    at Array.map ()
    at ConfigurableModuleBuilder.record (/Users/ajp/.npm/_npx/c76987c9a3c183fa/node_modules/appmap-node/src/recorder.ts:84:37)
    at ConfigurableModuleBuilder.createTypeProxy (packages/common/module-utils/configurable-module.builder.ts:414:36)
    at ConfigurableModuleBuilder. (packages/common/module-utils/configurable-module.builder.ts:312:34)
    at ConfigurableModuleBuilder.record (/Users/ajp/.npm/_npx/c76987c9a3c183fa/node_modules/appmap-node/src/recorder.ts:81:24)
    at ConfigurableModuleBuilder.build (packages/common/module-utils/configurable-module.builder.ts:304:36)
    at Context. (packages/common/test/module-utils/configurable-module.builder.spec.ts:41:74)
    at processImmediate (node:internal/timers:483:21)

  2. ConfigurableModuleBuilder
    build
    should return a fully typed "ConfigurableModuleClass":
    Error: "ASYNC_OPTIONS_TYPE" is not supposed to be used as a value.
    at Object.get (packages/common/module-utils/configurable-module.builder.ts:417:17)
    at isSimpleObject (/Users/ajp/.npm/_npx/c76987c9a3c183fa/node_modules/appmap-node/src/parameter.ts:99:57)
    at parameterSchema (/Users/ajp/.npm/_npx/c76987c9a3c183fa/node_modules/appmap-node/src/parameter.ts:93:12)
    at parameter (/Users/ajp/.npm/_npx/c76987c9a3c183fa/node_modules/appmap-node/src/parameter.ts:9:42)
    at optParameter (/Users/ajp/.npm/_npx/c76987c9a3c183fa/node_modules/appmap-node/src/parameter.ts:65:10)
    at makeReturnEvent (/Users/ajp/.npm/_npx/c76987c9a3c183fa/node_modules/appmap-node/src/event.ts:38:31)
    at Recording.functionReturn (/Users/ajp/.npm/_npx/c76987c9a3c183fa/node_modules/appmap-node/src/Recording.ts:55:34)
    at /Users/ajp/.npm/_npx/c76987c9a3c183fa/node_modules/appmap-node/src/recorder.ts:85:17
    at Array.map ()
    at ConfigurableModuleBuilder.record (/Users/ajp/.npm/_npx/c76987c9a3c183fa/node_modules/appmap-node/src/recorder.ts:84:37)
    at ConfigurableModuleBuilder.createTypeProxy (packages/common/module-utils/configurable-module.builder.ts:414:36)
    at ConfigurableModuleBuilder. (packages/common/module-utils/configurable-module.builder.ts:312:34)
    at ConfigurableModuleBuilder.record (/Users/ajp/.npm/_npx/c76987c9a3c183fa/node_modules/appmap-node/src/recorder.ts:81:24)
    at ConfigurableModuleBuilder.build (packages/common/module-utils/configurable-module.builder.ts:304:36)
    at Context. (packages/common/test/module-utils/configurable-module.builder.spec.ts:53:11)
    at processImmediate (node:internal/timers:483:21)

  3. NestContainer
    addModule
    should add global module when module is global:
    TypeError: Cannot read properties of undefined (reading 'call')
    at Module.set isGlobal [as isGlobal] (packages/core/injector/module.ts:1067:36)
    at NestContainer. (packages/core/injector/container.ts:758:28)
    at async NestContainer. (packages/core/injector/container.ts:723:20)
    at async Context. (packages/core/test/injector/container.spec.ts:63:7)

  4. NestContainer
    replaceModule
    should add global module when module is global:
    TypeError: Cannot read properties of undefined (reading 'call')
    at Module.set isGlobal [as isGlobal] (packages/core/injector/module.ts:1067:36)
    at NestContainer. (packages/core/injector/container.ts:758:28)
    at async NestContainer. (packages/core/injector/container.ts:723:20)
    at async Context. (packages/core/test/injector/container.spec.ts:83:7)

  5. InstanceLoader
    should call "loadPrototype" for every provider and controller in every module:
    ExpectationError: Unexpected call: getModules()
    Expectation met: getModules('[...]') once
    at Object.fail (node_modules/sinon/lib/sinon/mock-expectation.js:314:27)
    at Object.invokeMethod (node_modules/sinon/lib/sinon/mock.js:210:25)
    at NestContainer. (node_modules/sinon/lib/sinon/mock.js:72:35)
    at InstanceLoader. (packages/core/injector/instance-loader.ts:488:79)
    at InstanceLoader.record (/Users/ajp/.npm/_npx/c76987c9a3c183fa/node_modules/appmap-node/src/recorder.ts:81:24)
    at InstanceLoader.createInstancesOfDependencies (packages/core/injector/instance-loader.ts:488:36)
    at Context. (packages/core/test/injector/instance-loader.spec.ts:68:11)
    at processImmediate (node:internal/timers:483:21)

  6. InstanceLoader
    for every provider in every module
    "before each" hook for "should call "loadProvider"":
    ExpectationError: Unexpected call: getModules()
    Expectation met: getModules('[...]') once
    at Object.fail (node_modules/sinon/lib/sinon/mock-expectation.js:314:27)
    at Object.invokeMethod (node_modules/sinon/lib/sinon/mock.js:210:25)
    at NestContainer. (node_modules/sinon/lib/sinon/mock.js:72:35)
    at InstanceLoader. (packages/core/injector/instance-loader.ts:488:79)
    at InstanceLoader.record (/Users/ajp/.npm/_npx/c76987c9a3c183fa/node_modules/appmap-node/src/recorder.ts:81:24)
    at InstanceLoader.createInstancesOfDependencies (packages/core/injector/instance-loader.ts:488:36)
    at Context. (packages/core/test/injector/instance-loader.spec.ts:98:7)
    at processImmediate (node:internal/timers:483:21)

  7. InstanceLoader
    for every controller in every module
    "before each" hook for "should call "loadController"":
    ExpectationError: Unexpected call: getModules()
    Expectation met: getModules('[...]') once
    at Object.fail (node_modules/sinon/lib/sinon/mock-expectation.js:314:27)
    at Object.invokeMethod (node_modules/sinon/lib/sinon/mock.js:210:25)
    at NestContainer. (node_modules/sinon/lib/sinon/mock.js:72:35)
    at InstanceLoader. (packages/core/injector/instance-loader.ts:488:79)
    at InstanceLoader.record (/Users/ajp/.npm/_npx/c76987c9a3c183fa/node_modules/appmap-node/src/recorder.ts:81:24)
    at InstanceLoader.createInstancesOfDependencies (packages/core/injector/instance-loader.ts:488:36)
    at Context. (packages/core/test/injector/instance-loader.spec.ts:135:7)
    at processImmediate (node:internal/timers:483:21)

  8. InstanceLoader
    for every injectable in every module
    "before each" hook for "should call "loadInjectable"":
    ExpectationError: Unexpected call: getModules()
    Expectation met: getModules('[...]') once
    at Object.fail (node_modules/sinon/lib/sinon/mock-expectation.js:314:27)
    at Object.invokeMethod (node_modules/sinon/lib/sinon/mock.js:210:25)
    at NestContainer. (node_modules/sinon/lib/sinon/mock.js:72:35)
    at InstanceLoader. (packages/core/injector/instance-loader.ts:488:79)
    at InstanceLoader.record (/Users/ajp/.npm/_npx/c76987c9a3c183fa/node_modules/appmap-node/src/recorder.ts:81:24)
    at InstanceLoader.createInstancesOfDependencies (packages/core/injector/instance-loader.ts:488:36)
    at Context. (packages/core/test/injector/instance-loader.spec.ts:170:7)
    at processImmediate (node:internal/timers:483:21)

  9. RouterExecutionContext
    create
    when callback metadata is not undefined
    returns proxy function
    when proxy function called
    should apply expected context and arguments to callback:
    Error: Timeout of 2000ms exceeded. For async tests and hooks, ensure "done()" is called; if returning a Promise, ensure it resolves. (/Users/ajp/src/nestjs/nest/packages/core/test/router/router-execution-context.spec.ts)
    at listOnTimeout (node:internal/timers:581:17)
    at processTimers (node:internal/timers:519:7)

主要语言
TypeScript
星标
13
派生
6
平均合并
2 天 21 小时
30 天内合并 PR
8

环境准备

这个项目没有提供开发容器、Dockerfile 或贡献指南,环境需要你自己搭建:先看它的 README,通用步骤见我们的新手贡献指南。

从这里开始

  1. 先读完整个 Issue,再读项目的贡献指南。
  2. 在 Issue 下留言说明你要接手 —— 这能避免两个人做同样的事。
  3. Fork 仓库,在一个分支上完成修改。
  4. 提交 Pull Request,并在描述里引用这个 Issue 编号。

getappmap/appmap-node 的其他 Issue

查看 getappmap/appmap-node 的全部 Issue

相似的 Issue

更多 TypeScript Issue

把新 issue 发到你的邮箱

精选适合新手参与的 GitHub issue 摘要。