如何将调试器附加到我在 INestApplication.getHttpServer() 返回的服务器上运行的代码

问题描述

我正在运行一个使用 nestJS 构建的应用。我有使用 supertest 库编写的集成测试。我使用 Jest 作为我的测试框架/测试运行器。我的集成测试看起来像这样。

describe('Item controller',() => {

    beforeAll(async () => {
    const moduleRef = await Test.createTestingModule({
      imports: [AppModule],}).compile();

    app = moduleRef.createnestApplication();
    await app.init();

    test('/Delete endpoint returns 404 if item does not exist',async () => {
        const nonExistentId = '081512e0-3d32-45cb-926c-f5140b99ca85'
        req(app.getHttpServer())
        .delete(`/items/${nonExistentId}`)
        .set('X-Company-Id',company.id)
        .expect(404)
      });
});

在 Visual Studio 代码中工作,我可以运行调试器并在测试中设置断点并逐行逐步执行。但是,我需要能够单步执行在端点上运行的代码。有什么方法可以将调试器附加到 app.getHttpServer() 返回的服务器上运行的代码

在我没有使用超级测试通过请求访问端点之前。我正在创建实际控制器的一个实例并只是调用函数。然而,这绕过了中间件。

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...