【发布时间】:2019-08-02 09:31:01
【问题描述】:
我尝试使用 Cypress.io cy.route() 来管理网络请求的行为。 编写了一个存根来替换应用程序的网络行为以测试 UI。
后端返回 JSON 格式的字符串类型响应的预期结果。 引号或双引号不应出现在括号外。
预期结果示例:
{"mockdata":"mock"}
但是,我的应用在测试期间一直返回对象类型的响应, 比如
{mockdata:"mock"}
如何让 Mock API 返回字符串类型的响应?谢谢。
下面附上我的测试代码:
context('mock API', function () {
before(function () {
cy.server()
cy.route({
method: 'POST',
url: '/category/menu',
response: '{"mockdata":"mock"}'
}).as('rootBlock')
}
it('use mock API', function () {
cy.visit('/')
cy.wait('@rootBlock')
})
}
以及我的APP使用JQuery的示例代码:
$.ajax({
url: '/category/menu',
type: 'POST',
success: function (json) {
console.log(typeof json)
// Expect String to be returned
// but it always return as Object during a cypress test
var jsonData = $.parseJSON(json).mockdata
// throwing errors...
}
});
而我的系统是:Win7 x64
node.js:v10.14.1
Cypress.io:v3.4.1
【问题讨论】:
标签: javascript jquery node.js cypress