如何使测试块像玩笑一样在单独的文件中起作用?

时间:2019-11-19 13:42:00

标签: javascript mongoose jestjs apollo-server mockingoose

我正在使用两个软件包进行测试,一个软件包是apollo-server-testingmockingoose。看起来他们彼此不喜欢,一旦我呼叫query的{​​{1}}或mutationapollo-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`属性后开始,但是也无法正常工作。

但是在两个单独的文件中运行测试似乎可行。因此,我要寻找的是在一个文件中运行测试,因为它们在两个单独的文件中运行(或任何一种解决方案,但这似乎是解决问题最快的方法)。

0 个答案:

没有答案