我有一个问题。现在正在开发gql +测试e2e(对于测试e2e来说我是一个新手)如何测试创建mutaion
这是我的类别Product.e2e-spec.ts
describe('AppController (e2e)', () => {
let app: INestApplication
let apolloClient: ApolloServerTestClient
beforeEach(async () => {
const moduleFixture: TestingModule = await Test.createTestingModule({
imports: [AppModule],
}).compile()
app = moduleFixture.createNestApplication()
await app.init()
const module: GraphQLModule = moduleFixture.get<GraphQLModule>(
GraphQLModule,
)
// apolloServer is protected, we need to cast module to any to get it
apolloClient = createTestClient((module as any).apolloServer)
})
const createCategoryProductObject = {
name: 'testData',
}
const createCategoryProductQuery = `mutation {
createCategoryProduct(input: ${createCategoryProductObject}) {
name
}
}`
it('getAllCategoryProduct', async () => {
const { query } = apolloClient
const result: any = await query({
query: gql`
query {
getAllCategoryProduct {
name
id
}
}
`,
})
console.log(result)
expect(result)
})
it('createCategoryProduct', async () => {
const { mutate } = apolloClient
const result: any = await mutate({
mutation: gql`
${createCategoryProductQuery}
`,
})
expect(result)
})
})
})
如您在我的getAllCategoryProduct我console.log(result)
中看到的那样,我得到了正确的结果,并且一切正常,但是在createCategoryProduct中,我得到了一个错误
Unable to connect to the database. Retrying (1)...
AlreadyHasActiveConnectionError: Cannot create a new connection named "default", because connection with such name already exist and it now has an active connection session.
不确定为什么无法连接数据库