我正在尝试使 ts-jest 工作,但由于与方法功能不相关而出现错误。
我有一个ProductService
带有演示方法的类``
import {
ProductModel,
ProductPriceModel,
ProductTypes,
ProductVariantModel,
} from "../models/Product"
class ProductService {
async testJest(input: string) {
return input.split('').reverse().join('')
}
}
export const productService = new ProductService();
我的测试文件
import { productService } from '../../src/services/product.service'
describe('Product service', () => {
describe('testMethod', () => {
describe('type field', () => {
it('case 1', async () => {
expect(await productService.testJest('Hello world!')).toBe('!dlrow olleH')
})
})
})
})
那是我的架构,但当我运行产品时它实际上工作正常
import { Schema, Document, model, Types } from "mongoose"
import { plugin as autocomplete } from 'mongoose-auto-increment'
const ProductSchema: Schema<Document<IProduct>> = new Schema({
article: { type: String },
name: { type: String },
category: { type: Types.ObjectId, ref: 'ProductCategory' },
group: { type: Types.ObjectId, ref: 'ProductGroup' },
type: { type: ProductTypes, required: true },
variants: [{ type: Types.ObjectId, ref: 'ProductVariant' }],
description: { type: String },
grind: { type: Boolean, default: false },
productDetails: { type: Object },
productImage: { type: String },
}, { collection: "products", timestamps: true })
ProductSchema.plugin(autocomplete, {
model: 'Product',
field: 'article',
startAt: 10000,
})
export const ProductModel = model('Product', ProductSchema)
我已经尝试过初始化数据库连接(我认为这不应该是一个好习惯),但它没有帮助。
我希望您对如何使用我的设置进行测试有任何想法 - TypeScript + MongoDB (Mongoose) with plugins
更新
当我尝试通过手动数据库启动运行它时,我遇到了同样的错误。但只有这一次我用“--detectOpenHandles”标志运行它