小编Aud*_*ong的帖子

检查三个布尔值中是否有两个为真?

我需要测试以查看三个布尔值中是否有两个为真。

像这样的东西:

if ((a && b && !c) || (a && !b && c) || (!a && b && c)) {
  // success
}
Run Code Online (Sandbox Code Playgroud)

这是最直接的方法吗?有谁知道快捷方式/速记?

javascript if-statement boolean

5
推荐指数
2
解决办法
2050
查看次数

如何找到字符串中未转义的单花括号的索引位置?

a = "a"
sample_string = "asdf {{a}} {{ { {a} { {a} }"
## need to find these brackets ^     ^     ^
print(sample_string.format(a=a))
Run Code Online (Sandbox Code Playgroud)

上面的字符串将引发

ValueError: unexpected '{' in field name
Run Code Online (Sandbox Code Playgroud)

我希望能够摆脱令人窒息的大括号_string.formatter_parser。我开始沿着寻找所有不匹配对的道路走下去,但意识到这对于双转义花括号不起作用。我意识到我不知道如何解决这个问题。

ValueError: unexpected '{' in field name
Run Code Online (Sandbox Code Playgroud)

我知道我不能简单地寻找单个牙套而不查看它们是否也配对。我不能在查看它们是否逃脱之前就先寻找它们。但有些情况让我感到困惑,如下所示:

## this does not solve the problem.
def find_unmatched(s):
    indices = []
    stack = []
    indexstack = []
    for i, e in enumerate(s):
        if e == "{":
            stack.append(e)
            indexstack.append(i)
        elif e == "}":
            if len(stack) < 1:
                indices.append(i)
            else:
                stack.pop() …
Run Code Online (Sandbox Code Playgroud)

python string

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

Angular + Cypress 代码覆盖率报告不起作用

我一直在尝试让 Cypress 代码覆盖率与我的 Angular 生产项目一起使用,但没有成功。

为了尝试帮助诊断它,我创建了一个最小的实施项目,以确保我没有在生产版本中引入任何奇怪的东西,我不认为我是这样,因为同样的问题仍在发生。它开始让我发疯了!

我使用了一些参考资料,据我所知,我已经准备好了所需的东西:

据我所知,Angular 和 Cypress 端都已连接,并且正在 .nyc_output 文件夹中获取输出和覆盖率报告。然而,该报告并未表明打字稿行覆盖率或包括这些统计数据。

在此输入图像描述 在此输入图像描述

我看过这个,但似乎没有帮助。

代码检测(webpack扩展+ angular.json):

module.exports = {
  module: {
    rules: [
      {
        test: /\.(js|ts)$/,
        loader: "istanbul-instrumenter-loader",
        options: { esModules: true },
        enforce: "post",
        include: require("path").join(__dirname, "..", "src"),
        exclude: [
          /\.(e2e|spec)\.ts$/,
          /node_modules/,
          /(ngfactory|ngstyle)\.js/,
        ],
      },
    ],
  },
};
Run Code Online (Sandbox Code Playgroud)
"serve": {
  "builder": "ngx-build-plus:dev-server",
  "options": {
    "browserTarget": "architecture-testing:build",
    "extraWebpackConfig": "./cypress/coverage.webpack.js",
    "sourceMap": true
  },
  "configurations": {
    "production": {
      "browserTarget": "architecture-testing:build:production"
    }
  }
}
Run Code Online (Sandbox Code Playgroud)

Cypress 似乎正在记录并保存报道:

const registerCodeCoverageTasks …
Run Code Online (Sandbox Code Playgroud)

code-coverage istanbul angular nyc cypress

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

@cypress/code-coverage 无法解析“../self-coverage-helper”@cypress

我尝试运行index.jsCypress:

require('@cypress/code-coverage/task')
Run Code Online (Sandbox Code Playgroud)

出现此错误:

Module not found: Error: Can't resolve '../self-coverage-helper' in 'C:\repo\patientstrength_codecover\node_modules\@cypress\code-coverage\node_modules\nyc'
Run Code Online (Sandbox Code Playgroud)

完全迷失在这里。我的package.json

"nyc": "^15.1.0",
"cypress": "^5.0.0",
"cypress-istanbul": "^1.3.0",
"cypress-localstorage-commands": "^1.2.2",
"cypress-multi-reporters": "^1.2.4",
"@cypress/code-coverage": "^3.8.1",
"@babel/core": "^7.11.4",
"@babel/plugin-syntax-dynamic-import": "^7.8.3",
"@babel/plugin-syntax-jsx": "^7.10.4",
"@babel/preset-env": "^7.11.0",
"@babel/preset-react": "^7.10.4",
Run Code Online (Sandbox Code Playgroud)

nyc cypress

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

如何跨多个规范/测试文件使用可重用功能来组织/构建赛普拉斯测试

我们刚刚开始使用 Cypress 来测试 Storybook 中的组件库。我们用 Typescript 编写集成/功能测试。单元测试在其他地方编写。

\n

我正在努力组织测试,我来自 Selenium 世界,在那里我曾经使用 POM 方法。目前,我有一个名为 [Componenent].test.ts 的规范文件(我们不使用规范,因为我们注意到它通常保留用于单元测试)。

\n

目前,每个测试文件都包含一堆在顶部声明的测试使用的函数和常量。如果我们以aGrid为例,这些函数主要是检索行、工具提示、编辑单元格等,以便我们集中选择器并且不重复代码。

\n

很快我们希望为这些组件添加可访问性测试和视觉测试。因此,我有几个问题。

\n
    \n
  1. 我可以将所有这些测试编写在与功能测试相同的测试文件中。我不喜欢这种方法,因为它\xe2\x80\x99很混乱,如果我只想运行可访问性测试或可视化测试,那么我可以\xe2\x80\x99t将它们隔离以仅运行\xe2\x80\x9c\xe2\x80\x93spec\xe2\x80\x9c它们

    \n
  2. \n
  3. 我想为视觉和可访问性测试创建单独的测试文件,并将其放入不同的文件夹中,因此最终我将拥有以下文件夹:集成、可访问性、视觉\n我还需要在测试文件名中附加一些内容知道它是什么类型的测试。我的主要问题是如何重用所有这些文件中的函数和命令?我的 3 个组件测试文件需要使用相同的常量、函数等......

    \n
  4. \n
\n

我不\xe2\x80\x99t 认为 Typescript 支持分层继承,而且我一直听说我不应该使用 POM。我还注意到我可以将它们写入功能测试文件中,然后将它们导出并导入到其他两个文件中,但不确定它\xe2\x80\x99 是否是正确的方法。如你所见,我\xe2\x80\x99m对此很陌生。

\n

请提出建议?

\n

automation components automated-tests typescript cypress

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

如何避免 JavaScript 中未定义值的解构?

我收到registryReportSettings服务器的响应:

this.getRegistrySettings(registry.Id).subscribe((registryReportSettings: { extended: ReportPropertiesRequest }) => {
  const { objectProperties, reportProperties, textProperties } = registryReportSettings?.extended;
}
Run Code Online (Sandbox Code Playgroud)

如果是的话null我会得到一个错误:

TypeError: Cannot destructure property 'objectProperties' of '(intermediate value)(intermediate value)(intermediate value)' as it is undefined.
Run Code Online (Sandbox Code Playgroud)

如何使用TS修复它?

javascript destructuring typescript

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

NestJS中的TypeORM无法连接到MongoDB

我在自己的 Ubuntu 服务器上安装了 mongodb 软件,并得到了这样的 mongo 字符串mongodb://xxx:pass@42.212.159.109:27017,当我在本地终端中键入该字符串并使用时mongosh mongodb://xxx:pass@42.212.159.109:27017,它工作正常并且连接成功。但是当我在 Nestjs 项目中使用这个 mongodb 字符串时,当我运行时npm run start,终端输出MongoServerError: Authentication failed.

应用程序模块.ts

TypeOrmModule.forRootAsync({
      imports: [ConfigModule],
      inject: [ConfigService],
      useFactory: async (configService: ConfigService) => {
        const username = configService.get('MONGO_USER');
        const password = configService.get('MONGO_PASS');
        const database = configService.get('MONGO_DATABASE');
        const host = configService.get('MONGO_HOST');
        const port = configService.get('MONGO_PORT');
        return {
          type: 'mongodb',
          host,
          port,
          username,
          password,
          database,
          entities: [__dirname + '/**/*.entity{.ts,.js}'],
          synchronize: true,
        };
      },
Run Code Online (Sandbox Code Playgroud)

mongodb版本是4.1.3,TypeOrm版本是0.2.38。有谁知道问题是什么以及如何解决?感谢你。

mongodb express typeorm nestjs

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

使用 NestJS 和 Fastify 时,多部分表单数据正文为空

我们正在我们的应用程序中从 迁移express到。后置控制器中支持的(json正文而不是文件)在迁移后不起作用。我们已经插入,并且已接通电源。我们将不胜感激。请找到下面的代码,fastifynestJSmultipart form datatypeormswagger

async function bootstrap() {
  const { AppModule } = require('./app.module');
  const adapter = new FastifyAdapter({
    logger: true,
  });

  await adapter.register(fastifyMultipart, {
    limits: {
      fieldNameSize: 100, // Max field name size in bytes
      fieldSize: 1000000, // Max field value size in bytes
      fields: 10,         // Max number of non-file fields
      fileSize: 100,      // For multipart forms, the max file size
      files: 1,           // Max number of file fields
      headerPairs: 2000, …
Run Code Online (Sandbox Code Playgroud)

multipart node.js typeorm nestjs fastify

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

在 TypeORM 中恢复特定迁移

是否可以在 Typeorm 中恢复特定的迁移?,我只想恢复特定的迁移,而不是全部,直到我到达我想要恢复的迁移为止,

typeorm migration: revert因为通常情况下,如果您想恢复多个迁移,您只需多次调用,它就会开始从上次执行的状态恢复并将其从数据库中删除。

javascript node.js nest typeorm

5
推荐指数
1
解决办法
2万
查看次数

增加 macOS 上浮动缩略图屏幕截图预览的持续时间

因此,在几个最新的 macOS 版本上有这些有用的浮动预览。但我似乎找不到任何方法来增加预览的持续时间(默认为 5 秒)。有可能吗?当我寻找一个窗口将其放下时,它常常会滑走。这非常令人沮丧。

在此输入图像描述

macos screenshot duration thumbnails preview

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