我使用Grails 1.3.7的Mockito 1.9,我有一个奇怪的错误.
以下java中的测试用例:
import static org.mockito.Mockito.*;
public class MockitoTests extends TestCase {
@Test
public void testSomeVoidMethod(){
TestClass spy = spy(new TestClass());
doNothing().when(spy).someVoidMethod();
}
public static class TestClass {
public void someVoidMethod(){
}
}
}
Run Code Online (Sandbox Code Playgroud)
在groovy中的这个测试不起作用:
import static org.mockito.Mockito.*
public class MockitoTests extends TestCase {
public void testSomeVoidMethod() {
def testClassMock = spy(new TestClass())
doNothing().when(testClassMock).someVoidMethod()
}
}
public class TestClass{
public void someVoidMethod(){
}
}
Run Code Online (Sandbox Code Playgroud)
这是错误消息:
only void methods can doNothing()!
Example of correct use of doNothing():
doNothing().
doThrow(new RuntimeException()) …
Run Code Online (Sandbox Code Playgroud) 这个错误出现在我的 IntelliJ 中,现在我尝试运行的任何项目都没有发生,并且相同的错误一次又一次出现,似乎没有任何效果。我重新启动了程序,.idea
在阅读其他一些博客时删除了该文件夹,但它没有修复任何问题。
Error:Module 'JavaFundamentals' production: java.lang.ClassCastException: class org.jetbrains.jps.builders.java.dependencyView.TypeRepr$PrimitiveType cannot be cast to class org.jetbrains.jps.builders.java.dependencyView.TypeRepr$ClassType (org.jetbrains.jps.builders.java.dependencyView.TypeRepr$PrimitiveType and org.jetbrains.jps.builders.java.dependencyView.TypeRepr$ClassType are in unnamed module of loader java.net.URLClassLoader @2ff4acd0)
Run Code Online (Sandbox Code Playgroud) 我可以从@Api
@ApiOperation
,@ApiResponses
注释在我的 Spring 启动应用程序上生成 swagger UI 。
这些注释使代码有点脏。我想知道如何从 javadocs 为我的 API 端点生成 swagger 文档。
我有两个罐子。一种提供服务接口和服务加载类,另一种提供该服务的实现。
在 jdk8 中运行时效果很好,但service type not accessible to unnamed module @3754a4bf
在 jdk9 或更高版本上运行时出现错误。
我将这两个 jar 迁移到了一个模块基础 jar,并且在 >= jdk9 上运行时效果很好,但由于类文件版本错误,在 jdk8 上运行失败。
所以,我在 java 8 或 9 中使用 java serivceloader api 没有问题。
我知道https://blog.codefx.org/tools/multi-release-jars-multiple-java-versions/,但我想避免使构建过程变得更加复杂。构建已经涉及类重定位和其他内容。
我的问题:有没有办法使用 java serviceloading api 使用在 jdk8 和 >=jdk9 上运行的相同 jar ?
我正在使用 Spring boot 开发 Restful Web 服务。CRUD 操作运行良好。但突然出现了新的要求,响应需要采用特定的 JSON 格式。
我收到这样的回复 -
"user": {
"id": 123,
"name": "shazow"
}
Run Code Online (Sandbox Code Playgroud)
但是,要求是这样的——
{
"Timestamp": "2007-10-27T00:51:57Z"
"status": "ok",
"code": 200,
"messages": [],
"result": {
"user": {
"id": 123,
"name": "shazow"
}
}
}
Run Code Online (Sandbox Code Playgroud)
另外,如果我们检索所有用户,那么它应该是 -
{
"Timestamp": "2007-10-27T00:51:57Z",
"status": "ok",
"code": 200,
"messages": [],
"users"[
"user": {
"id": 123,
"name": "Shazow"
},
"user": {
"id": 101,
"name": "James"
},
"user": {
"id": 152,
"name": "Mathew"
}
]
}
Run Code Online (Sandbox Code Playgroud)
请帮忙,提前致谢。
我在空手道功能文件中使用以下语法并且它有效,但我想在空手道配置文件中全局添加它,这样我就不必单独添加我的所有功能文件
* configure proxy = { uri: 'http://xx.xx.xxx.xx:8080', username: 'myuserid', password: 'xxxxxx' }
Run Code Online (Sandbox Code Playgroud)
我需要知道如何在karate-config.js
文件中全局添加上面的内容
谢谢
java ×4
spring-boot ×2
grails ×1
groovy ×1
java-module ×1
json ×1
karate ×1
mockito ×1
rest ×1
selenium ×1
swagger ×1
swagger-ui ×1
unit-testing ×1