我想为我的Node.js API编写自动化测试,并且我已经开始使用Mocha和Chai,使用chai-http来管理请求。如何正确测试具有身份验证的RESTful API
我已经有了一个通往www.example.com/users的路线,并且已经成功地编写了自动化测试来注册用户并登录用户,所以我以为我在路上,但现在几乎所有的其他路由需要用户进行身份验证!由于我在测试过程中嘲笑数据库(使用mongoose使用mockgoose),我已经注意到了这种依赖关系。但是,这带来了一个问题,我如何获得一个用户身份验证,但仍然不会暴露我的测试多个,可能会改变的代码段?
程序流程相对简单:在请求安全资源时,会有中间件对用户进行身份验证,然后将一个对象附加到请求上。那么user
对象就可以让路由访问用户的信息并调用数据库。
所以,我想一个理想的解决方案将附加一个user
对象的请求对象,一旦调用了API。
由于我相对较新的测试,我会欢迎任何反馈,让我洞察到更好的测试程序。