小编Vin*_*iel的帖子

如何使用实体框架回滚迁移的正确方法

我对 EF 和迁移非常新手。我正在尝试使用命令进行回滚,以运行 Down 方法

update-database -TargetMigration MyLastMigration
Run Code Online (Sandbox Code Playgroud)

输出结果

Target database is already at version 201701031905415_MyLastMigration.
Run Code Online (Sandbox Code Playgroud)

如何执行MyLastMigration的Down方法?

提前致谢

mysql entity-framework visual-studio entity-framework-6

6
推荐指数
1
解决办法
4905
查看次数

如何在 NestJS 上测试具有多个守卫的控制器

我正在测试我的控制器,但我在模拟该控制器的守卫时遇到问题。我的应用程序是使用 NestJs 版本 6.13.1 开发的

我可以覆盖一个守卫来嘲笑它,如下所示:

const fakeGuard: CanActivate = { canActivate: () => true };

beforeEach(async () => {
    const module: TestingModule = await Test.createTestingModule({
        imports: [
            CoreModule,
            AuthModule,
            PermissionsModule,
            UsersModule
        ],
        controllers: [UsersController],
    })
    .overrideGuard(AuthGuard('jwt')).useValue(fakeGuard) // When I have one guard in my controller it works right
    .compile();

    controller = module.get<UsersController>(UsersController);
    app = module.createNestApplication();
    app.init();
});
Run Code Online (Sandbox Code Playgroud)

但在我的场景中,我在控制器中定义了 2 个守卫

@UseGuards(AuthGuard('jwt'), PermissionGuard)
export class UsersController {
    ...
}
Run Code Online (Sandbox Code Playgroud)

我没有找到一种方法来嘲笑多个警卫。当我调用 overrideGuard 时,我尝试通过 2 个守卫,但是当我运行测试时,没有任何异常。但我知道,问题是因为我无法嘲笑那两个警卫。如果您遇到同样的问题,请与我分享您的解决方案,谢谢。

nestjs

1
推荐指数
1
解决办法
4574
查看次数