摩卡测试 当我试图通过json对象进行测试时,得到 "在json位置1得到500个意外的json o"。

问题描述 投票:1回答:1

我在JSON中的第1位收到500个意外的JSON o。

  1. 我试着把json键中的引号去掉,在postman上能用,但在mocha上就不行了。
  2. 尝试使用JSON.stringify来发送数据,在解析json数据时出现了一些问题。
  3. 尝试使用mocha .type('json'),但是没有结果。
const request = require('supertest');
const app = require('../../../../index');
const httpStatus = require('http-status');
const User = require('../../../models/auth/user.model');
const bcrypt = require('bcryptjs');
const appModel = require('../../../models/app/apps.model');
const RefreshToken = require('../../../models/auth/refreshToken.model');

describe('API', async () => {
    let appParam;
    let validApiParam;
    let userAccessToken;
    let Ace;

    const password = '123456';

  beforeEach(async () => {
    const passwordHashed = await bcrypt.hash(password, 1);
    Ace = {
      email: '[email protected]',
      password: passwordHashed,
      name: 'ace',
      role: 'user',
    };

    await User.deleteMany({});
    await appModel.deleteMany({});
    await RefreshToken.deleteMany({});
    await User.insertMany([Ace]);
    Ace = await User.findOne({ name: Ace.name }).exec();

    appParam = {
      name: 'aegis project',
      appDescription: 'It is authentication app',
      userId: Ace._id.toString(),
    };

    appParam = await appModel.create(appParam);

    validApiParam = {
      name: 'validNewApi',
      url: 'testurl',
      methodName: 'POST',
      apiType: 2,
      requestParameter: {
        'email': '[email protected]',
        'password': 'cityslicka',
    },
    responseParameter: {
      'version': '1',
      'user': {
          'id': 123,
      },
  },
    userIdKeyPath: 'user.id',
    serviceProvider: 'axios',
    userId: Ace._id.toString(),
    appId: appParam._id.toString(),

  };
    Ace.password = password;
    userAccessToken = (await User.findAndGenerateToken(Ace)).accessToken;
  });

  describe('POST /apiRegistration/save-login-api/save-login-api', () => {
    it('should create a new login Api', () => {
      return request(app)
        .post('/apiRegistration/save-login-api/save-login-api')
        .set('Authorization', `Bearer ${userAccessToken}`)
        .send(JSON.stringify(validApiParam))
        .expect(httpStatus.CREATED)
        .then(() => {
        });
    });
});
});

任何建议提供将是有益的。

node.js json unit-testing mocha
1个回答
0
投票

找到了解决方法,我是在我的逻辑中解析已经JSON格式化的请求参数,导致了这个错误。

© www.soinside.com 2019 - 2024. All rights reserved.