我正在使用两个软件包进行测试,一个软件包是apollo-server-testing
和mockingoose
。看起来他们彼此不喜欢,一旦我呼叫query
的{{1}}或mutation
,apollo-server-testing
就会停止工作。参见:
mockingoose
我已经做了很多测试,以确认问题在我调用'createTestServer()const createTestServer = () =>
createTestClient(
new ApolloServer({
schema,
}),
);
test('returns one item', async () => {
const { query } = createTestServer();
const query = `
query {
users {
name
}
}
`;
mockingoose(mongoose.model('users')).toReturn([{ name: 'test' }]);
const { data: { users } } = await query({ query });
expect(users.length).toBe(1);
});
test('returns two items', async () => {
const { query } = createTestServer();
const query = `
query {
users {
name
}
}
`;
mockingoose(mongoose.model('users')).toReturn([
{ name: 'test' },
{ name: 'another-test' }
]);
const usersFromMongoose = mongoose.model('users').find({});
//usersFromMongoose: undefined
const { data: { users } } = await query({ query });
//users: undefined (without querying usersFromMongoose as well)
expect(users.length).toBe(2);
});
mockingoose`属性后开始,但是也无法正常工作。
但是在两个单独的文件中运行测试似乎可行。因此,我要寻找的是在一个文件中运行测试,因为它们在两个单独的文件中运行(或任何一种解决方案,但这似乎是解决问题最快的方法)。