如何在我的mongodb数据库/客户端中模拟deno?

如何在我的mongodb数据库/客户端中模拟deno?,mongodb,testing,mocking,deno,Mongodb,Testing,Mocking,Deno,我试图编写一些单元测试和模拟一些进行网络调用的函数等等。我看到Deno的测试模块只提供可使用的断言。 有没有一个好的库或者什么我可以用来让Deno为测试做模拟的东西 致意 谢谢你的帮助 我个人没有使用过Deno的测试套件,但在大多数测试框架中,模拟都遵循相同的模式。通常,您会定义一个模拟对象或函数,并根据自己的喜好显式定义行为 就数据库调用而言,您最有可能模拟进行调用的模块或实现,并返回预期模拟结果 Jest是一个很好的测试框架,它提供了这种能力 下面是模拟Axios调用()的示例。您可以为mo

我试图编写一些单元测试和模拟一些进行网络调用的函数等等。我看到Deno的测试模块只提供可使用的断言。 有没有一个好的库或者什么我可以用来让Deno为测试做模拟的东西

致意
谢谢你的帮助

我个人没有使用过Deno的测试套件,但在大多数测试框架中,模拟都遵循相同的模式。通常,您会定义一个模拟对象或函数,并根据自己的喜好显式定义行为

就数据库调用而言,您最有可能模拟进行调用的模块或实现,并返回预期模拟结果

Jest是一个很好的测试框架,它提供了这种能力

下面是模拟Axios调用()的示例。您可以为mongodb场景替换axios示例

// users.js
import axios from 'axios';

class Users {
  static all() {
    return axios.get('/users.json').then(resp => resp.data);
  }
}

export default Users;

Deno标准库(
std
)中没有模拟功能,但您可以找到一些库/模块/框架,它们在
Deno.land/x
上提供模拟功能,例如,提供模拟。以下是他们文档中的一个示例:

要删除的类{…}
常数mock=Rhum
.mock(ToBeMocked)
.withConstructorArgs(“someArg”)//如果要模拟的类具有构造函数并且需要参数
.create();
请记住,大多数Deno模块仍在积极开发中,因此它们可能尚未具备所有功能。我不知道Node的测试框架是否在Deno上工作,但如果是这样,您可以使用其中的一个(Jest/Jasmine/Mocha等)

// users.test.js
import axios from 'axios';
import Users from './users';

jest.mock('axios');

test('should fetch users', () => {
  const users = [{name: 'Bob'}];
  const resp = {data: users};
  axios.get.mockResolvedValue(resp);

  // or you could use the following depending on your use case:
  // axios.get.mockImplementation(() => Promise.resolve(resp))

  return Users.all().then(data => expect(data).toEqual(users));
});