测试前环回 4 空数据库
Loopback 4 empty database before a test
我想在验收测试用例之前清空数据库。
在我的 aircraft.controller.acceptance.ts
我有
import { givenEmptyDatabase } from './helpers/database.helpers';
...
before(givenEmptyDatabase);
...
describe( ... ) { ... }
在database.helpers.ts
我尽量按照LoopBack 4 documentation
import {AircraftRepository} from '../../src/repositories';
import {testdb} from '../fixtures/datasources/testdb.datasource';
export async function givenEmptyDatabase() {
await new AircraftRepository(testdb).deleteAll();
}
但从未描述 testdb.datasource.ts
应该是什么样子。我试图让它看起来与我的常规 db.datasource.ts
相似,但我不确定要导出什么..
import {inject} from '@loopback/core';
import {juggler, AnyObject} from '@loopback/repository';
const config = require('./db.datasource.json');
export class DbDataSource extends juggler.DataSource {
static dataSourceName = 'db';
constructor(
@inject('datasources.config.db', {optional: true})
dsConfig: AnyObject = config
) {
super(dsConfig);
}
}
从 @loopback/repository 得到了答案。 testdb.datasource.ts 应该是这样的:
import { juggler } from '@loopback/repository';
export const testdb: juggler.DataSource = new juggler.DataSource({
name: 'db',
connector: 'memory'
});
我想在验收测试用例之前清空数据库。
在我的 aircraft.controller.acceptance.ts
我有
import { givenEmptyDatabase } from './helpers/database.helpers';
...
before(givenEmptyDatabase);
...
describe( ... ) { ... }
在database.helpers.ts
我尽量按照LoopBack 4 documentation
import {AircraftRepository} from '../../src/repositories';
import {testdb} from '../fixtures/datasources/testdb.datasource';
export async function givenEmptyDatabase() {
await new AircraftRepository(testdb).deleteAll();
}
但从未描述 testdb.datasource.ts
应该是什么样子。我试图让它看起来与我的常规 db.datasource.ts
相似,但我不确定要导出什么..
import {inject} from '@loopback/core';
import {juggler, AnyObject} from '@loopback/repository';
const config = require('./db.datasource.json');
export class DbDataSource extends juggler.DataSource {
static dataSourceName = 'db';
constructor(
@inject('datasources.config.db', {optional: true})
dsConfig: AnyObject = config
) {
super(dsConfig);
}
}
从 @loopback/repository 得到了答案。 testdb.datasource.ts 应该是这样的:
import { juggler } from '@loopback/repository';
export const testdb: juggler.DataSource = new juggler.DataSource({
name: 'db',
connector: 'memory'
});