Przejdź do głównej treści

respond

Zawsze odpowiadaj tym samym nadpisaniem.

Użycie
mock.respond(overwrites, { header, statusCode, fetchResponse })
Parametry
NazwaTypSzczegóły
overwritesMockOverwritedane do nadpisania odpowiedzi
params
opcjonalnie
MockResponseParamsdodatkowe parametry odpowiedzi do nadpisania
params.header
opcjonalnie
Objectnadpisanie określonych nagłówków
params.statusCode
opcjonalnie
Numbernadpisanie kodu statusu odpowiedzi
params.fetchResponse
opcjonalnie
Booleanpobierz rzeczywistą odpowiedź przed odpowiedzią z zmockowanymi danymi
Przykład
respond.js
it('should demonstrate response overwrite with static data', async () => {
const mock = await browser.mock('https://todo-backend-express-knex.herokuapp.com/', {
method: 'get'
})

mock.respond([{
title: 'Injected (non) completed Todo',
order: null,
completed: false
}, {
title: 'Injected completed Todo',
order: null,
completed: true
}], {
statusCode: 200,
fetchResponse: true // default
})

await browser.url('https://todobackend.com/client/index.html?https://todo-backend-express-knex.herokuapp.com/')

await $('#todo-list li').waitForExist()
console.log(await $$('#todo-list li').map(el => el.getText()))
// outputs: "[ 'Injected (non) completed Todo', 'Injected completed Todo' ]"
})

it('should demonstrate response overwrite with dynamic data', async () => {
const mock = await browser.mock('https://todo-backend-express-knex.herokuapp.com/')

mock.respond((request) => {
if (request.body.username === 'test') {
return { ...request.body, foo: 'bar' }
}
return request.body
}, {
statusCode: () => 200,
headers: () => ({ foo: 'bar }),
fetchResponse: false // do not fetch real response
})
})

Welcome! How can I help?

WebdriverIO AI Copilot