Пытаетесь заставить Supertest отправить тело на пост https? - PullRequest
0 голосов
/ 15 мая 2018

Я новичок и не могу сделать супер-тест для меня.Мне интересно:

  • Почему тело не определено?
  • Есть ли уловка из командной строки для показа и проверки объектов в консоли?
  • Почему неттестовые журналы "привет"?

	"use strict";
	
	const request = require('supertest');
	const express = require('express');
	const https = require('https');
	const fs = require('fs');
	const path = require('path');
	const certPath = path.resolve(path.resolve(), './certs');
	
	const app = express();
	
	//This line is from the Node.js HTTPS documentation.
	const options = {
		key : fs.readFileSync(certPath+'/server-key.pem'),
		cert : fs.readFileSync(certPath+'/server-crt.pem'),
		ca : fs.readFileSync(certPath+'/ca-crt.pem')
	};
	
	// service
	app.post('/failService', function(req, res) {
		console.log('failService: '+req.body); // failService: undefined
		res.send('hello');
	});
	
	describe('trial not working', function() {
	  it('responds with json', function(done) {
		  request(app)
	      .post('/failService')
	      .send({name: 'john'})
	      .set('Accept', /json/)
	      .expect(200)
	      .end(function(err, res) {
	        if (err) return done(err);
	        console.log('response: '+res.body); // response: [object Object]
	        done();
	      });
	  });
	});

.... показывает

$ mocha supertest.js

  trial not working
failService: undefined
response: [object Object]
    √ responds with json (125ms)


  1 passing (171ms)

Обратите внимание, что сертификаты (не включены) являютсяСамоподписанный.

1 Ответ

0 голосов
/ 19 мая 2018

При выделении моего кода выше я пропустил варианты. В результате он не использует SSL. Извините за это.

Я вернулся к запуску сервера и использованию клиента в моем тестовом примере. Для этого мне пришлось исправить:

  1. CORS
  2. Актуальная проблема этого поста с использованием анализатора тела
...