我将数据发送到服务器并将返回的数据与发送的数据进行匹配。如果使用expect.arrayContaining(array)来比较选项和嵌套变体,它会在添加db的id和字段上发誓。如何将对象与包含对象数组的数组进行比较?
要发送的数据:
{
"name": "red dress",
"options": Array [
Object {
"name": "size",
"variants": Array [
Object {
"name": "M",
},
Object {
"name": "L",
},
Object {
"name": "S",
},
],
},
],
}
Run Code Online (Sandbox Code Playgroud)
返回数据:
{
"id": "dc67efd8-dcc4-43df-a8eb-9d95ea641749",
"name": "red dress",
"options": Array [
Object {
"id": 1,
"name": "size",
"productId": "dc67efd8-dcc4-43df-a8eb-9d95ea641749",
"variants": Array [
Object {
"id": 1,
"name": "M",
"optionId": 1,
},
Object {
"id": 5,
"name": "S",
"optionId": 1,
},
Object {
"id": 6,
"name": …Run Code Online (Sandbox Code Playgroud) 我有带有 mongo 连接的 koa 服务器,并使用 supertest 来模拟服务器并发送请求,开玩笑作为测试框架。
const app = new Koa()
...
export default app.listen(PORT, (err) => {
if (err) console.log(err)
if (!IS_TEST) {
console.log(`Server running on port: ${PORT}`)
}
})
Run Code Online (Sandbox Code Playgroud)
成功完成测试或失败服务器连接钢工作后,测试后如何关闭koa服务器连接?
测试示例:
import supertest from 'supertest'
import mongoose from 'mongoose'
import server from '../../../app/server'
import User from '../../../app/models/user'
const r = supertest.agent(server.listen())
afterEach(async (done) => {
await mongoose.connection.db.dropDatabase()
done()
})
describe('Authorization', () => {
describe('POST /signup', () => {
const userData = {
email: 'test@test.com',
password: 111111,
} …Run Code Online (Sandbox Code Playgroud) 我在服务器上渲染react组件,当转到路由获取错误消息:
const renderToString = ReactDOMServer.renderToString
const fac = React.createFactory(React.createClass({
render: function() {
return (
<Provider store={store}>
<StaticRouter location={location} context={routeContext}>
<App />
</StaticRouter>
</Provider>
)
}}))
const appHtml = renderToString(fac())
Run Code Online (Sandbox Code Playgroud) 我正在使用 knex,该项目的查询构建器,但是在使用联接时遇到了问题,您必须手动匹配相关数据或执行单独的查询并绑定相关数据,所以我正在考虑使用 ORM,但在某个地方我听说它们速度较慢并且在后台使用循环进行查询,我使用nodejs,因此它可以阻塞线程,那么您自己是否值得使用ORM或更好的伴侣连接数据?