小编Haa*_*Leo的帖子

如何模拟导入

模块A包括import B在其顶部.然而在试验条件下,我想嘲笑 BA(模拟A.B)和进口完全避免B.

实际上,B并非故意安装在测试环境中.

A是被测单位.我必须导入A及其所有功能.B是我需要模拟的模块.但是我如何在A中模拟B并阻止A导入真实B,如果A做的第一件事就是导入B?

(没有安装B的原因是我使用pypy进行快速测试,不幸的是B还与pypy不兼容.)

怎么可以这样做?

python mocking python-import

126
推荐指数
6
解决办法
4万
查看次数

尝试从代码管道发送通知时,SNS 通知目标规则“无法访问”

我正在尝试使用支持 SNS 的通知规则为代码管道设置通知。

在此输入图像描述

如图所示,状态为“无法访问”

如果我查看此处的链接aws 故障排除

我已经遵循了所有步骤,甚至在 SNS 主题的访问策略中添加 codestar-notifications 的步骤。

{
      "Sid": "AWSCodeStarNotifications_publish",
      "Effect": "Allow",
      "Principal": {
        "Service": "codestar-notifications.amazonaws.com"
      },
      "Action": "SNS:Publish",
      "Resource": "arn:aws:codestar-notifications:us-east-1:272075499248:notificationrule/50d629524d433dceeafdb6c5fe136e404f29e9e5"
    }
Run Code Online (Sandbox Code Playgroud)

但是,状态仍然保持不变,也尝试手动启动管道,但仍然不起作用。

我错过了什么吗?有人能帮我解决这个问题吗?

编辑:

 {
  "Version": "2008-10-17",
  "Id": "__default_policy_ID",
  "Statement": [
    {
      "Sid": "__default_statement_ID",
      "Effect": "Allow",
      "Principal": {
        "AWS": "*"
      },
      "Action": [
        "SNS:GetTopicAttributes",
        "SNS:SetTopicAttributes",
        "SNS:AddPermission",
        "SNS:RemovePermission",
        "SNS:DeleteTopic",
        "SNS:Subscribe",
        "SNS:ListSubscriptionsByTopic",
        "SNS:Publish",
        "SNS:Receive"
      ],
      "Resource": "arn:aws:sns:us-east-1:272075499248:develop",
      "Condition": {
        "StringEquals": {
          "AWS:SourceOwner": "272075499248"
        }
      }
    },
    {
      "Sid": "AWSCodeStarNotifications_publish",
      "Effect": "Allow",
      "Principal": {
        "Service": "codestar-notifications.amazonaws.com"
      }, …
Run Code Online (Sandbox Code Playgroud)

amazon-web-services amazon-sns aws-codepipeline

15
推荐指数
2
解决办法
7351
查看次数

禁止 Nestjs 中 DTO 的特定枚举值

我的“AppState”枚举具有以下可能的枚举值:

export enum AppState {
  SUCCESS,
  ERROR,
  RUNNING
}
Run Code Online (Sandbox Code Playgroud)

我有一个UpdateAppStateDTOappState它应该接受除RUNNING之外的每个枚举值。

export class UpdateAppStateDTO {
  @IsEnum(AppState)
  @NotEquals(AppState.RUNNING) // Doesn't work properly
  public appState: AppState;
}
Run Code Online (Sandbox Code Playgroud)

对于路线我有这个例子

  @Patch()
  public setState(@Body() { appState }: UpdateAppStateDTO): void {
    console.log(appState);
  }
Run Code Online (Sandbox Code Playgroud)

如果请求有一个空的正文或一个无效的枚举值,比如“foobar”,appState因为我得到了 400,这很好。

问题是当我发送“RUNNING”时,我仍然得到 200 而不是 400。

我怎样才能防止这种行为?

class-validator nestjs

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

更改VS Code远程SSH的PATH

使用VS Code的新远程SSH功能,如何修改PATH其终端的环境变量?我已经进入了Ubuntu 16.04 VM,它没有启动/etc/profile或启动~/.bash_profile

在此处输入图片说明

打开终端后,我可以. ~/.bash_profile,但是我希望类似的事情自动发生。

visual-studio-code vscode-remote

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

VS Code 远程容器:无法创建目录“/home/appuser”:

我正在尝试使用Visual Studio Code 的远程容器扩展,但是当我“打开容器中的文件夹”时,出现以下错误:

\n\n
Run: docker exec 0d0c1eac6f38b81566757786f853d6f6a4f3a836c15ca7ed3a3aaf29b9faab14 /bin/sh -c set -o noclobber ; mkdir -p \'/home/appuser/.vscode-server/data/Machine\' && { > \'/home/appuser/.vscode-server/data/Machine/.writeMachineSettingsMarker\' ; } 2> /dev/null\nmkdir: cannot create directory \xe2\x80\x98/home/appuser\xe2\x80\x99: Permission denied\n
Run Code Online (Sandbox Code Playgroud)\n\n

我的 Dockerfile 使用:

\n\n
FROM python:3.7-slim\n...\nRUN useradd -ms /bin/bash appuser\nUSER appuser\n
Run Code Online (Sandbox Code Playgroud)\n\n

我也尝试过:

\n\n
RUN adduser -D appuser\nRUN groupadd -g 999 appuser && \\\n    useradd -r -u 999 -g appuser appuser\nUSER appuser\n
Run Code Online (Sandbox Code Playgroud)\n\n

如果我直接构建它们,这两个都可以工作。我该如何让它发挥作用?

\n

dockerfile visual-studio-code vscode-remote

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

处理“启动”时出错:错误:找不到Chrome-安装它或在启动配置中设置“ runtimeExecutable”字段

我正在尝试使用VS Code调试Angular 2应用程序。要将从IE启动的浏览器更改为Chrome,我安装了Chrome调试器。

这是launch.json包含的内容:

"version": "0.2.0",
"configurations": [
    {
      "type": "chrome",
      "request": "launch",
      "name": "Launch Chrome against localhost",
      "url": "http://localhost:8080",
      "webRoot": "${workspaceFolder}"
    }
]
Run Code Online (Sandbox Code Playgroud)

启动项目(使用ng serve --open)并尝试调试后,我得到:

Error processing "launch": Error: Can't find Chrome - install it or set the "runtimeExecutable" field in the launch config.
<p>at Object.errP (C:\Users\rahs\.vscode\extensions\msjsdiag.debugger-for-chrome-4.1.0\node_modules\vscode-chrome-debug-core\out\src\utils.js:207:13)
<p>at launch.then (C:\Users\rahs\.vscode\extensions\msjsdiag.debugger-for-chrome-4.1.0\out\src\chromeDebugAdapter.js:52:57)
     at anonymous
Run Code Online (Sandbox Code Playgroud)

我在同一个主题上提到了这样的问题,但是我使用的是Windows,而Windows特定的答案对我不起作用。

google-chrome-devtools visual-studio-code angular

6
推荐指数
0
解决办法
3896
查看次数

Visual Studio Code - 使用制表键缩进单行

我想知道是否可以使用 tab 键缩进一行而不删除标记的文本。

在 GIF 的第一部分中,您可以看到 Visual Studio Code,在第二部分中可以看到 Atom。Atom 显示了所需的行为。

第一:VS Code,第二:ATOM 编辑器

到目前为止,可以在 VS Code 中以这种方式缩进多行,它也适用于后制表符,但不适用于制表符和单行。

VS Code 缩进多行

这是错误还是正常行为?

我的设置:
Visual Studio Code:版本 1.25.1 (MacOS 10.13.6 High Sierra)
Visual Studio Code:版本 1.25.1 (Ubuntu 18.04 LTS)

indentation text-indent visual-studio-code

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

无法在VSCode中SSH到远程计算机

几天前,我已升级到VSCode 1.36.0,从那时起,我就无法进入远程计算机。当我尝试这样做时,出现以下错误:

群:99:输入/输出错误

任何人都可以帮助找到解决方法吗?

visual-studio-code vscode-remote

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

Visual Studio Code 和 Jinja 模板

一段时间以来,我使用 VS 代码和一些扩展。当我使用 Flask 时,一切都很完美。

Prettier 将所有烧瓶代码粘在一起,而智能对烧瓶代码不起作用:

{% extends "layout.html" %} {% block style %} body {color: red; } {% endblock %}
{% block body %} you must provide a name {% endblock %}
Run Code Online (Sandbox Code Playgroud)

我该怎么做才能使它与烧瓶(特里烧瓶片段)一起使用?

我在美德环境中运行它(在 lauch vscode 之前运行)。

提前致谢,

python jinja2 visual-studio-code

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

在锁定屏幕上显示UWP控件

我做了什么

我要求用户需要能够通过Windows锁定屏幕启动我的应用程序。搜索www后,发现很难从锁定屏幕挂接热键(如果不是不可能的话)。
然后我发现这篇文章使用

 Microsoft.Toolkit.Uwp.Notifications.TileContent  
Run Code Online (Sandbox Code Playgroud)

将通知发送到锁定屏幕。
我发现没有办法向其中添加一些按钮或类似控件,TileContent所以我尝试了

Microsoft.Toolkit.Uwp.Notifications.ToastContent
Run Code Online (Sandbox Code Playgroud)

我成功添加了一个按钮,并且可以显示ToastNotification如下内容

ToastContent content = new ToastContent()
    {
        Duration = ToastDuration.Long,
        Visual = new ToastVisual()
        {
            BindingGeneric = new ToastBindingGeneric()
            {
                Attribution = new ToastGenericAttributionText()
                {
                    Text = "Hello World"
                }
            }  
        },
        Actions = new ToastActionsCustom()
        {
            Buttons = {
                new ToastButton ("mycontent", "myargs")
            }
         }
    };
var notification = new ToastNotification(content.GetXml());
ToastNotificationManager.CreateToastNotifier().Show(notification);
Run Code Online (Sandbox Code Playgroud)

使用这种方法,我有一个问题,即ToastNotification在特定时间后消失。该ToastContent.Duration属性不能设置为“连续”或类似的东西。

  • 有没有办法持续显示ToastNotification
  • 如果没有,还有另一种方法可以像Spotify小部件那样通过按钮(或其他控件)通过锁定屏幕触发我的应用程序。(请参阅链接帖子的屏幕截图)

c# toast lockscreen lockscreenwidget uwp

5
推荐指数
0
解决办法
702
查看次数