- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我尝试使用 graphql-tools
的 mockServer
来模拟一个 Mutation
。
这是我的单元测试:
it('should update user name correctly', () => {
mockserver
.query(
`{
Mutation {
updateUserName(id: 1, name: "du") {
id
name
}
}
}`
)
.then(res => {
console.log(res);
expect(1).to.be.equal(1);
});
});
但是,有一个错误:
mock server test suites
✓ should get users correctly
✓ should get user by id correctly
✓ should update user name correctly
{ errors:
[ { GraphQLError: Cannot query field "Mutation" on type "Query".
at Object.Field (/Users/ldu020/workspace/apollo-server-express-starter/node_modules/graphql/validation/rules/FieldsOnCorrectType.js:65:31)
at Object.enter (/Users/ldu020/workspace/apollo-server-express-starter/node_modules/graphql/language/visitor.js:324:29)
at Object.enter (/Users/ldu020/workspace/apollo-server-express-starter/node_modules/graphql/language/visitor.js:366:25)
at visit (/Users/ldu020/workspace/apollo-server-express-starter/node_modules/graphql/language/visitor.js:254:26)
at visitUsingRules (/Users/ldu020/workspace/apollo-server-express-starter/node_modules/graphql/validation/validate.js:74:22)
at validate (/Users/ldu020/workspace/apollo-server-express-starter/node_modules/graphql/validation/validate.js:59:10)
at graphqlImpl (/Users/ldu020/workspace/apollo-server-express-starter/node_modules/graphql/graphql.js:106:50)
at /Users/ldu020/workspace/apollo-server-express-starter/node_modules/graphql/graphql.js:66:223
at new Promise (<anonymous>)
at Object.graphql (/Users/ldu020/workspace/apollo-server-express-starter/node_modules/graphql/graphql.js:63:10)
at Object.query (/Users/ldu020/workspace/apollo-server-express-starter/node_modules/graphql-tools/dist/mock.js:19:63)
at Context.it (/Users/ldu020/workspace/apollo-server-express-starter/src/mockServer/index.spec.js:95:8)
at callFn (/Users/ldu020/workspace/apollo-server-express-starter/node_modules/mocha/lib/runnable.js:383:21)
at Test.Runnable.run (/Users/ldu020/workspace/apollo-server-express-starter/node_modules/mocha/lib/runnable.js:375:7)
at Runner.runTest (/Users/ldu020/workspace/apollo-server-express-starter/node_modules/mocha/lib/runner.js:446:10)
at /Users/ldu020/workspace/apollo-server-express-starter/node_modules/mocha/lib/runner.js:564:12
at next (/Users/ldu020/workspace/apollo-server-express-starter/node_modules/mocha/lib/runner.js:360:14)
at /Users/ldu020/workspace/apollo-server-express-starter/node_modules/mocha/lib/runner.js:370:7
at next (/Users/ldu020/workspace/apollo-server-express-starter/node_modules/mocha/lib/runner.js:294:14)
at Immediate.<anonymous> (/Users/ldu020/workspace/apollo-server-express-starter/node_modules/mocha/lib/runner.js:338:5)
at runCallback (timers.js:763:18)
at tryOnImmediate (timers.js:734:5)
at processImmediate (timers.js:716:5)
message: 'Cannot query field "Mutation" on type "Query".',
locations: [Array],
path: undefined } ] }
并且,我阅读了 graphql-tools
interface.d.ts
文件。
export interface IMockServer {
query: (query: string, vars?: {
[key: string]: any;
}) => Promise<ExecutionResult>;
}
很明显,mockServer
中没有mutation
功能。
mockServer
是否支持Mutation
?
最佳答案
这是您的查询的结构。查询的结构应该与您在 GraphiQL 中的结构非常相似,例如:突变{
updateUserName(id: 1, name: "du") {
ID
姓名
}
}
因此,您的代码应如下所示,将 mutation 关键字作为查询中左大括号之前的第一件事 { :
it('should update user name correctly', () => {
mockserver
.query(`mutation {
updateUserName(id: 1, name: "du") {
id
name
}
}`)
.then(res => {
console.log(res);
expect(1).to.be.equal(1);
});
});
关于graphql-tools,如何使用 mockServer 模拟 "Mutation"?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49939464/
我正在使用 Mockserver 测试异步产生副作用的 HTTP 服务。比方说,我正在测试在 /api/status/{id} 公开 HTTP API 方法的 ServiceA。除了将状态结果返回给
我在为具有完全相同请求的多个响应设置 MockServerClient 时遇到问题。 我读到,如果对“Times”抱有期望,这可能会完成,但我无法使其适用于我的场景。 如果您使用此 JSON 调用服务
是否有一种简单的方法可以从 org.mockserver 加载响应正文的文件内容(例如 Json 文件)? 或者我必须以通常的方式进行吗? 最佳答案 您可以使用 读取 json 文件内容 public
我试图实现的是模拟google oauth2端点的响应。 这是我的设置: # docker-compose.yml version: '3.8' services: busybox: im
我收到断言错误“正文内容预期子项但在断言 andExpect XML 时为空。如果我作为字符串输入“2020-10-01-5:00”它工作正常,但如果我将日期连接成一个字符串喜欢: Local
我尝试使用 graphql-tools 的 mockServer 来模拟一个 Mutation。 这是我的单元测试: it('should update user name correctly',
我正在尝试验证我通过模拟服务器发送的一些请求 http://www.mock-server.com/ 服务器显示我已发送请求,但在尝试验证时,它说至少一次未找到请求。 请求如下所示: 请求: {
当我尝试使用 MockServer 模拟外部 HTTP API 时,mockserver 返回 java.lang.IllegalArgumentException 这是测试代码: new MockS
目前我使用mockServer来模拟Java中的所有外部服务。当我启动模拟服务器时: mockServer = startClientAndServer(1080); proxy = StartCli
我正在尝试使用 Node 模块启动模拟服务器-grunt。我的问题是出现以下错误: events.js:160 throw er; // Unhandled 'error' event ^
由于防火墙,我们在应用程序中使用了一些 API,这些 API 无法从本地开发人员机器访问。 我想使用 mockServer 来模拟其中一些 API,以便我们可以在本地进行开发。 运行测试时,可以使用
我们有这个模拟服务器现在正在服务 https://请求,如果我们删除 ssl 包装 (ssl.wrap_socket(myServer.socket,keyfile='key.pem',certfil
我正在尝试使用 OkHttps 模拟服务器测试和 REST API。由于 anroid 的限制(在较新的 android 版本中不允许明文 http 请求),我需要用户 server.useHttps
我有这个测试类... package com.blah.blah; import static org.junit.Assert.assertTrue; import com.squareup.okh
我想使用MockServer analysis在 dumpToLogAsJava 模式下,让它打印我拥有的 HTTP 服务的 java 格式的期望。 此外,我想使用mockserver-maven-p
你好 Stack Overflow 社区! 我正在尝试在一些 Java 集成测试中模拟微服务。 为此,我使用 MockServer 5.5.1 版。为了完成其余请求,我使用的是 OkHttp 版本 3
我是一名优秀的程序员,十分优秀!