我对 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方法?
提前致谢
我正在测试我的控制器,但我在模拟该控制器的守卫时遇到问题。我的应用程序是使用 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 个守卫,但是当我运行测试时,没有任何异常。但我知道,问题是因为我无法嘲笑那两个警卫。如果您遇到同样的问题,请与我分享您的解决方案,谢谢。