小编Dan*_*l C的帖子

将 dotenv 路径与 JEST 一起使用

我正在尝试使用不同的 .env 文件进行 Jest 测试,但到目前为止我无法使其工作。

包.json:

{
  "name": "task-manager",
  "version": "1.0.0",
  "description": "",
  "main": "index.js",
  "module": "main.js",
  "scripts": {
    "start": "node -r esm src/index.js",
    "dev": "nodemon -r esm -r dotenv/config src/index.js dotenv_config_path=./config/.env",
    "test": "jest --setupFiles dotenv/config --watch"
  },
  "jest": {
    "testEnvironment": "node"
  },
  "keywords": [],
  "author": "",
  "license": "ISC",
  "dependencies": {
    "@sendgrid/mail": "^6.3.1",
    "bcryptjs": "^2.4.3",
    "dotenv": "^6.2.0",
    "esm": "^3.2.10",
    "express": "^4.16.4",
    "jest": "^24.3.1",
    "jsonwebtoken": "^8.5.0",
    "mongodb": "^3.1.13",
    "mongoose": "^5.4.17",
    "multer": "^1.4.1",
    "sharp": "^0.21.3",
    "supertest": "^4.0.0",
    "validator": "^10.11.0"
  },
  "devDependencies": { …
Run Code Online (Sandbox Code Playgroud)

node.js express jestjs dotenv

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

如何在JavaScript中的新Number()中保留前导零

家伙.

我有这个功能的一些问题

const incrementString = str => {
  if (!str.match(/[\d+]$/)){
    return str += 1
  } else{
    return str.replace(/[\d+]$/, ch => new Number(ch) + 1)
  }
}
Run Code Online (Sandbox Code Playgroud)

我正在尝试使用该函数的是字符串末尾的数字+ 1,如果字符串没有,我将在最后添加1.

string      expected
"foobar000" "foobar001"
"foo"       "foo1"
"foobar025" "foobar026"
Run Code Online (Sandbox Code Playgroud)

我不知道是否可以使用replace和regex来实现它,我想到了一个包含循环,.length,split等的解决方案......但是我想用正则表达式来做,如果可能的话.

问题:我怎样才能取字符串末尾的数字,前导零,并将它们加1?这是我的功能不良行为的一些例子

Expected: 'foobar011', instead got: 'foobar11'
Test Passed: Value == 'foo1'
Expected: 'foobar002', instead got: 'foobar2'
Test Passed: Value == 'foobar100'
Test Passed: Value == 'foobar100'
Test Passed: Value == '1'
Run Code Online (Sandbox Code Playgroud)

谢谢和快乐的圣日

javascript regex string

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

标签 统计

dotenv ×1

express ×1

javascript ×1

jestjs ×1

node.js ×1

regex ×1

string ×1