在我的Vue.js应用中,我正在使用夜视测试我的应用。我有以下规范:
module.exports = {
'wrong email or password': function (browser) {
const devServer = browser.globals.devServerURL
var nock = require('nock');
var couchdb = nock('http://localhost:3000/')
.get('api/v1/login')
.reply(401, {
error: 'dupa'
});
browser
.url(devServer + '/login')
.setValue('input[type=email]', 'email@example.com')
.setValue('input[type=password]', 'password')
.click('.login')
.assert.containsText('#app', 'Niepoprawny email lub hasło.')
.end()
}
}
在我的测试中,我正在尝试使用https://github.com/node-nock/nock。但不幸的是,这并没有嘲笑任何请求。我做错了什么?
答案 0 :(得分:3)
Nock替换运行它的浏览器环境中的HTTP机制。 由于您在测试中运行它(未在浏览器中运行),因此浏览器环境保持不变。
你可以做几件事,但这取决于你想要达到的目标:
要写一个假的,你只需要一个简单的服务器来返回你想要的答案。这是express.js的一个例子:
const express = require('express')
const app = express()
app.get('/api/v1/login', function (req, res) {
res.send('Some response')
})
app.listen(3000, function () {
console.log('server listening on port 3000')
})