Я чувствую, что неправильно понимаю, что такое мокко / чай, что такое "свойство". Сначала я запускаю node index.js
.
index. js
const express = require('express')
module.exports = server
function server (port = 0) {
return new Promise((resolve, reject) => {
const app = express()
app.get('/greet/:name', (req, res) => {
res.send(`Hello ${req.params.name}`)
})
const listener = app.listen(port, err => {
if (err) return reject(err)
resolve({
port: listener.address().port,
stop: () => listener.close()
})
})
})
}
server(3000)
.then(({ port, stop }) => {
console.log('Server listening on port ' + port)
})
.catch(err => {
console.error(err.stack)
process.exit(1)
})
Затем я запускаю npm test
.
/ test / test-pages. js
var expect = require('chai').expect;
var request = require('request');
it('Greet Bob', function(done) {
request('http://localhost:3000/greet/Bob' , function(error, response, body) {
expect(body).to.have.property('name');
done();
});
});
Я обнаружил следующую ошибку:
1) Greet Bob:
Uncaught AssertionError: expected 'Hello Bob' to have property 'name'
at Request._callback (test\test-pages.js:12:30)
at Request.self.callback (node_modules\request\request.js:185:22)
at Request.<anonymous> (node_modules\request\request.js:1161:10)
at IncomingMessage.<anonymous> (node_modules\request\request.js:1083:12)
at endReadableNT (_stream_readable.js:1185:12)
at processTicksAndRejections (internal/process/task_queues.js:81:21)
npm ERR! Test failed. See above for more details.
Ошибка expected 'Hello Bob' to have property 'name'
, но не Bob
свойство 'name'
в этом случае? Bob
- это свойство :name
в приведенной ниже части index.js
, нет?
app.get('/greet/:name', (req, res) => {
res.send(`Hello ${req.params.name}`)
})