我试图建立一个约定来忽略任何遵循某种模式的测试。如果你想让 jest 在 npm 测试期间忽略它,文件名将如下所示。
DISABLED.MyComponent.test.js
尝试使用 testPathIgnorePatterns
testPathIgnorePatterns: ['<rootDir>/src/**/DISABLED.{*}.js'],
错误是它仍在运行,或者抛出正则表达式无效的错误。
我有两个实体,一个是car,另一个是carAvailability
import { Entity, Column, PrimaryGeneratedColumn, OneToMany } from 'typeorm';
import { CarAvailability } from 'src/car-availabilitys/car-availability.entity';
@Entity('cars')
export class Car {
@PrimaryGeneratedColumn()
id: number;
@Column()
name: string;
@OneToMany(() => CarAvailability, (carAvailability) => carAvailability.car, {
eager: true,
cascade: true,
})
availabilities: CarAvailability[];
}
Run Code Online (Sandbox Code Playgroud)
我正在尝试添加一项根据可用性查询和过滤汽车的服务。在我的服务中尝试了两种方法:
具有 repo 函数的方法 1:
async test () {
const startDateTime = '2012-04-24 02:25:43.511';
return await this.repo.find({
relations: ['availabilities'],
where: {
availabilities: {
start_date_time: startDateTime
}
}
});
}
Run Code Online (Sandbox Code Playgroud)
使用查询生成器的方法 2:
async test () { …Run Code Online (Sandbox Code Playgroud) 在我当前的场景中,第三方将在我的数据库上动态创建表,并将表名称存储为 a varchar,列名称存储jsonb在其他表中,该表在我的 NestJS 后端中定义为实体。
这样我就可以跟踪(和查询)这些表,因为我无法控制它的创建。
为此,我想使用TypeORM而不是使用原始查询,createQueryBuilder因为它更容易使用抽象。
据我所知,TypeORMcreateQueryBuilder需要在子句中定义一个实体from。
像这样的事情:
return await getManager()
.createQueryBuilder()
.select('*')
.from(MyDefinedModel, 'modelAlias')
.getRawMany();
}
Run Code Online (Sandbox Code Playgroud)
所以我想做一些类似的事情:
const tableName = await getDynamicallyGenetaredTableNames().getFirstOne()
// now tableName points to a string that is a table name, i.e 'table-data-192239'
return await getManager()
.createQueryBuilder()
.select('*')
.from(tableName, 'tableAlias')
.getRawMany();
Run Code Online (Sandbox Code Playgroud)
因此,传递表名我指向正确的表,但 TypeORM(和 TS)抱怨,因为这tableName是一个字符串,而不是实体(类)类型
如果有更干净的东西可以实现这一点,我真的不想进行类型转换并开始做一些令人讨厌的事情。我在官方文档中没有找到任何解决方案
有什么绝妙的想法吗?谢谢你们
哪一个最适合 typescript 环境以及与 mongoDB 使用的每个库相关的优点和缺点是什么?
我发现猫鼬不太兼容/需要一些工作才能在打字稿环境中使用。
还有另一个库typegoose,它在 mongoosejs 之上提供打字稿实现,但看起来它需要支持 mongoosejs 的更多功能。
我还发现 TypeOrm 主要针对 Sql 数据库。
请分享您关于 MongoDB 与 mongoosejs 的 typeorm 的经验。
我正在努力在 Prettier / ESLint 配置中找到一个设置,它允许我像这样包装我的代码:
var [
first,
second,
third,
etc,
] = data();
Run Code Online (Sandbox Code Playgroud)
当我点击保存时,它总是自动将代码变成这样:
var [first, second, third, etc] = data();
Run Code Online (Sandbox Code Playgroud)
对于这个简单的演示来说,这可能不是一个大问题,但是对于更复杂的解构,这一行将变得难以阅读。
感谢您的帮助!
我无法让我的数据库和服务器相互连接。服务器是express的,数据库是用postgress的docker镜像制作的。
我试过
错误
[2021-11-01T00:48:05.774Z] INFO: Express server started on port: 3000
DriverPackageNotInstalledError: Postgres package has not been found installed. Try to install it: npm install pg --save
at DriverPackageNotInstalledError.TypeORMError [as constructor] (/Users/alexskotner/Documents/GitHub/Aware/BackEnd/src/error/TypeORMError.ts:7:9)
at new DriverPackageNotInstalledError (/Users/alexskotner/Documents/GitHub/Aware/BackEnd/src/error/DriverPackageNotInstalledError.ts:8:9)
at PostgresDriver.loadDependencies (/Users/alexskotner/Documents/GitHub/Aware/BackEnd/src/driver/postgres/PostgresDriver.ts:1118:19)
at new PostgresDriver (/Users/alexskotner/Documents/GitHub/Aware/BackEnd/src/driver/postgres/PostgresDriver.ts:284:14)
at DriverFactory.create (/Users/alexskotner/Documents/GitHub/Aware/BackEnd/src/driver/DriverFactory.ts:36:24)
at new Connection (/Users/alexskotner/Documents/GitHub/Aware/BackEnd/src/connection/Connection.ts:122:43)
at ConnectionManager.create (/Users/alexskotner/Documents/GitHub/Aware/BackEnd/src/connection/ConnectionManager.ts:61:28)
at /Users/alexskotner/Documents/GitHub/Aware/BackEnd/src/globals.ts:77:35
at step (/Users/alexskotner/Documents/GitHub/Aware/BackEnd/node_modules/typeorm/node_modules/tslib/tslib.js:143:27)
at Object.next (/Users/alexskotner/Documents/GitHub/Aware/BackEnd/node_modules/typeorm/node_modules/tslib/tslib.js:124:57)
Run Code Online (Sandbox Code Playgroud)
包.json
"pg": "^8.7.1"
Run Code Online (Sandbox Code Playgroud)
类 类 DatabaseAPI {
private opt: ConnectionOptions = …Run Code Online (Sandbox Code Playgroud) postgresql express typeorm typeorm-datamapper node.js-typeorm
目前,我正在使用 Angular 15 和 Angular 14 作为我使用的反应形式的禁用输入字段[attr.disabled]="disableField ? true : null"。
我将 Angular 版本 14 更新到 15 后,此属性不起作用
<Input
id="image"
type="file"
accept="image/*"
onChange={(event) =>
getBase64(event.target.files[0])
.then((file) => this.setState({ image: file })
)}
/>
Run Code Online (Sandbox Code Playgroud)
但它也接受其他文件,我应该更改什么以使其仅接受图像?
我有一个返回一个非常长的无类型对象的函数,我想复制该对象的推断类型,因为手动操作太长了,然后我想创建它的类/接口,例如:
export class PatientTables {
emsf: string;
cadNumber: string;
// and so on
}
Run Code Online (Sandbox Code Playgroud)
有没有办法从某个地方复制它,因为 Visual Studio Code 似乎已经将它分类在某个地方,正如您在图片中看到的(还有 48 个),我怎样才能让它显示其余部分并复制它?谢谢!
不久前,测试脚本运行得非常完美。据我所知,唯一的更改是 URL。
这是有问题的测试之一。请注意,我们已将 URL 替换为假 URL。
我们尝试全新安装 Cypress。我们的支持文件等中没有任何内容。
我在代码中没有尝试设置属性。不管怎样,它似乎在运行我的测试之前抛出错误。
错误是:
"cannot set property name of which has only a getter"
Run Code Online (Sandbox Code Playgroud)
"cannot set property name of which has only a getter"
Run Code Online (Sandbox Code Playgroud)
堆栈跟踪:
TypeError: Cannot set property name of which has only a getter
at onError (https://[MY_WEBSITE]/__cypress/runner/cypress_runner.js:156647:18) From previous event:
at Object.run (https://[MY_WEBSITE]/__cypress/runner/cypress_runner.js:170479:13)
at Object.run (https://[MY_WEBSITE]/__cypress/runner/cypress_runner.js:156658:15)
at $Cy.cy.<computed> [as visit] (https://[MY_WEBSITE]/__cypress/runner/cypress_runner.js:157812:17)
at __stackReplacementMarker (https://[MY_WEBSITE]/__cypress/runner/cypress_runner.js:157121:13)
at Context.runnable.fn (https://[MY_WEBSITE]/__cypress/runner/cypress_runner.js:158036:21)
at callFn (https://[MY_WEBSITE]/__cypress/runner/cypress_runner.js:112788:21)
at Test.../driver/node_modules/mocha/lib/runnable.js.Runnable.run (https://[MY_WEBSITE]/__cypress/runner/cypress_runner.js:112775:7)
at https://[MY_WEBSITE]/__cypress/runner/cypress_runner.js:164502:28 From previous event:
at Object.onRunnableRun (https://[MY_WEBSITE]/__cypress/runner/cypress_runner.js:164487:17)
at …Run Code Online (Sandbox Code Playgroud) typeorm ×4
javascript ×3
angular ×2
express ×2
nestjs ×2
postgresql ×2
reactjs ×2
typescript ×2
cypress ×1
forms ×1
jestjs ×1
material-ui ×1
mongodb ×1
mongoose ×1
node.js ×1
prettier ×1
reactive ×1
refactoring ×1
regex ×1
sql ×1