在测试中找不到TypeORM连接

问题描述

我正在通过创建一个简单的应用程序来研究TDD的简洁架构,并且试图在我的基础结构层上实现UserRepository,但是即使在建立了ADD之后,我仍然收到此错误ConnectionNotFoundError: Connection "default" was not found.连接,然后再运行测试本身。

Jest Error

这是我的UserEntity类。

import { PrimaryColumn,Column,CreateDateColumn,UpdateDateColumn,Entity } from 'typeorm'

@Entity('users')
export class UserEntity {
  @PrimaryColumn('uuid')
  id: string

  @Column()
  name: string

  @Column({ unique: true })
  email: string

  @Column()
  password: string

  @CreateDateColumn()
  created_at: Date

  @UpdateDateColumn()
  updated_at: Date
}

在此UserRepository中,我正在实现一个CreateUserRepository,该方法具有以下create方法。要读取TypeORM存储库,我正在使用TypeORM中的getRepository方法

import { getRepository,Repository } from 'typeorm'

import { CreateUserRepositoryDTO,CreateUserRepository } from '../../../../data/protocols/db/user/CreateUserRepository'
import { UserModel } from '../../../../domain/models/UserModel'
import { UserEntity } from '../entities/UserEntity'

export class UserRepository implements CreateUserRepository {
  private ormRepository: Repository<UserEntity>

  constructor () {
    this.ormRepository = getRepository(UserEntity)
  }

  async create (userData: CreateUserRepositoryDTO): Promise<UserModel> {
    const user = await this.ormRepository.create(userData)
    const result = await this.ormRepository.save(user)
    return result
  }
}

import { mockCreateUserRepositoryDTO } from '../../test/mockCreateUserRepositoryDTO'
import { createTestConnection } from '../helpers/TypeORMHelper'
import { UserRepository } from './UserRepository'

describe('UserRepository',() => {
  it('Should return User on create Success',async () => {
    await createTestConnection()
    const userData = mockCreateUserRepositoryDTO()
    const sut = new UserRepository()
    const user = await sut.create(userData)
    console.log(user)
  })
})

import { createConnection,Connection,ConnectionOptions } from 'typeorm'

import { postgresCreds,schemaConfig } from '../../../../../ormconfig'

async function createDbConnection (options: ConnectionOptions): Promise<Connection> {
  try {
    const connection: Connection = await createConnection(options)
    console.log(`TypeORM Connected to ${options.database}`)
    return connection
  } catch (err) {
    console.log('Problem with TypeORM connection')
    throw err.message
  }
}

export async function createTestConnection () {
  return createDbConnection({
    name: 'testConnection',type: 'postgres',database: 'market-list-test',synchronize: false,...postgresCreds,...schemaConfig,logging: ['error']
  })
}

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)

相关问答

依赖报错 idea导入项目后依赖报错,解决方案:https://blog....
错误1:代码生成器依赖和mybatis依赖冲突 启动项目时报错如下...
错误1:gradle项目控制台输出为乱码 # 解决方案:https://bl...
错误还原:在查询的过程中,传入的workType为0时,该条件不起...
报错如下,gcc版本太低 ^ server.c:5346:31: 错误:‘struct...