我已经在这个网站和网络上搜索了一段时间,但我找不到解决这个问题的方法。我正在尝试测试我的API的REST功能,但PUT测试似乎从未起作用。每次在mocha中运行测试时,我都会收到错误“Uncaughtassertionerror:expected[]toequal{objectData}”,其中objectData是我尝试发布的对象(名为couponTwo)的json表示形式。我感觉问题出在beforeEach函数上,因为它会在每次测试前清除数据库,而许多其他测试需要执行此操作才能正确运行。这是测试代码:varconfig=require('../config/config');var
我正在使用express并通过npm包"mongodb":"^3.0.10"连接到mongodb。我的app.ts看起来像这样:constapp=express();letserver:http.Server;(async()=>{app.use(bodyParser.json());letdb:Db;try{consthost=config.get("api.dbConfig.host");console.log(host);constdbName=config.get("api.dbConfig.dbName");constport=config.get("api.dbConfig
我对使用Mongoose对ExpressRESTAPI进行单元测试感到很困惑。我听说过supertest、sinon、chai和mocha。我想编写测试:1)测试API接口(interface):创建一个super测试服务器并向其发出请求(例如GET/users、POST/users)并检查它是否调用了正确的路由。2)测试Mongoose查询:当路由被调用时,我想检查是否调用了正确的mongoose函数(find,findById)并且它返回了正确的数据(假数据),比如:当调用User.findId时,返回假用户(在beforeEach中定义的数据)。这是sinonstub的用途吗?3
我已经开始使用mocha,但我遇到了一个特定测试用例的问题。这是代码:varassert=require("chai").assert;varrequest=require('supertest');varhttp=require("http");varconf=require("../config/config");varapp=require("../app");varmongoose=require('mongoose');varUser=mongoose.model('User');describe('Usercontroller',function(){describe('P
我想测试RESTAPI如何处理具有无效JSON语法的正文的POST请求,例如缺少逗号。我正在使用node.js编写API测试。我正在使用frisby但我也试过supertest.没运气。使用之前的工具,您将请求正文作为JavaScript对象传递,因此行不通。我还尝试将无效的JSON作为字符串传递,但没有任何运气,因为字符串也是有效的JSON(下面的示例)。有什么想法吗?frisby.create('Ensureresponsehasrightstatus').post('http://example.com/api/books','{"invalid"}',{json:true}).
我想测试RESTAPI如何处理具有无效JSON语法的正文的POST请求,例如缺少逗号。我正在使用node.js编写API测试。我正在使用frisby但我也试过supertest.没运气。使用之前的工具,您将请求正文作为JavaScript对象传递,因此行不通。我还尝试将无效的JSON作为字符串传递,但没有任何运气,因为字符串也是有效的JSON(下面的示例)。有什么想法吗?frisby.create('Ensureresponsehasrightstatus').post('http://example.com/api/books','{"invalid"}',{json:true}).
我需要使用mocha和supertest测试通过HTTPS提供的API(证书未过期)这是服务器的要点:...varapp=express();var_options={key:fs.readFileSync('my-key.pem');,cert:fs.readFileSync('my-cert.pem')};//StartHTTPSserverhttps.createServer(_options,app).listen(app.get('port'),app.get('ip'),function(){//okornotlogs});这是要测试的路线app.get('/hello',
我需要使用mocha和supertest测试通过HTTPS提供的API(证书未过期)这是服务器的要点:...varapp=express();var_options={key:fs.readFileSync('my-key.pem');,cert:fs.readFileSync('my-cert.pem')};//StartHTTPSserverhttps.createServer(_options,app).listen(app.get('port'),app.get('ip'),function(){//okornotlogs});这是要测试的路线app.get('/hello',
我正在使用MochaJS和SuperTest在开发过程中测试我的API并绝对喜欢它。不过,我还想在将代码投入生产之前将这些相同的测试用于远程测试我的登台服务器。有没有办法通过远程URL或代理向远程URL提供请求?这是我使用的测试示例request(app).get('/api/photo/'+photo._id).set(apiKeyName,apiKey).end(function(err,res){if(err)throwerr;if(res.body._id!==photo._id)throwError('No_idfound');done();});
我正在使用MochaJS和SuperTest在开发过程中测试我的API并绝对喜欢它。不过,我还想在将代码投入生产之前将这些相同的测试用于远程测试我的登台服务器。有没有办法通过远程URL或代理向远程URL提供请求?这是我使用的测试示例request(app).get('/api/photo/'+photo._id).set(apiKeyName,apiKey).end(function(err,res){if(err)throwerr;if(res.body._id!==photo._id)throwError('No_idfound');done();});