我正在尝试访问我所创建的类中的方法,但由于它的名称和参数数量相似,我的IDE认为该方法不明确.这是两种方法的模拟:
methodName(X, Y, Z)
methodName(A, Y, Z)
Run Code Online (Sandbox Code Playgroud)
我调用了该方法,并null为了测试目的传递了第一个参数的值.不幸的是,我无法重命名方法,更改参数的顺序或以任何方式修改方法的结构.有没有办法可以区分这两种方法?
我正在研究一个Java项目想要为DTO中的.equals方法编写单元测试.在.equals方法中,有一个.getClass()方法被两个被测对象调用.我想嘲笑这个,但我不知道它想要什么类型的对象.我试过了,
when(mockRoomInv.getClass()).thenReturn(RoomInv.class);
但肯定是没有做任何事情.getClass的返回类型是什么,我该如何操作它?
我正在为我的应用程序编写单元测试,我想知道Mockito框架是否有可能影响传递给返回模拟类的void的方法的对象.例如,调用一个模拟的验证类,该类包含一个返回void但通过作为参数传入的对象跟踪各种更改和元数据的方法..
public GetCartItemsOutput getCartItems(GetCartItemsInput getCartItemsInput) {
CartItemsFilter cartItemsFilter = new CartItemsFilter();
validator.validateCartItemsInput(getCartItemsInput, cartItemsFilter); ...
Run Code Online (Sandbox Code Playgroud)
我为我的其他测试模拟了验证器类,但对于这个我需要模拟对cartItemsFilter对象的更改,我不知道该怎么做.
我正在使用Mockito编写单元测试,我在模拟注入的类时遇到了问题.问题是两个注入的类是相同的类型,只能通过它们的@Qualifier注释区分.如果我试图简单地模拟SomeClass.class,那个模拟不会被注入,那个对象就null在我的测试中.我该如何模仿这些物体?
public class ProfileDAL {
@Inject
@Qualifier("qualifierA")
private SomeClass someClassA ;
@Inject
@Qualifier("qualifierB")
private SomeClass someClassB ;
//...various code, not important
}
@RunWith(MockitoJUnitRunner.class)
public class ProfileDALLOMImplTest {
@InjectMocks
private ProfileDALLOMImpl profileDALLOMImpl = new ProfileDALLOMImpl();
@Mock
private SomeClass someClassA;
@Mock
private SomeClass someClassB;
private SomeResult mockSomeResult = mock(SomeResult.class);
@Test
public void testSomeMethod() {
when(someClassA .getSomething(any(SomeArgment.class)).thenReturn(mockSomeResult);
Int result = profileDALLOMImpl.someTest(This isn't relevant);
}
}
Run Code Online (Sandbox Code Playgroud) 我有一个宁静的服务(post)消耗(application/json)并生成(application/json).此服务的单个参数是带注释的java对象.
我正在使用org.jboss.resteasy.client.ClientRequest将请求发送到服务.但是,我在客户端获得此异常并且异常:
找不到内容类型application/json类型的writer.
这是否意味着我缺少一些图书馆罐子,或者我必须为application/json编写自己的编写器?
我正在使用resteasy 2.3.3.Final
以下是我添加到我的pom中的各种依赖项,我认为可能与之相关:
<dependency>
<groupId>org.jboss.resteasy</groupId>
<artifactId>resteasy-jaxrs</artifactId>
<version>2.3.3.Final</version>
</dependency>
<dependency>
<groupId>com.fasterxml.jackson.jaxrs</groupId>
<artifactId>jackson-jaxrs-json-provider</artifactId>
<version>2.0.5</version>
</dependency>
<dependency>
<groupId>org.jboss.resteasy</groupId>
<artifactId>resteasy-jaxb-provider</artifactId>
<version>2.3.4.Final</version>
</dependency>
<dependency>
<groupId>org.jboss.resteasy</groupId>
<artifactId>resteasy-jackson-provider</artifactId>
<version>2.3.4.Final</version>
</dependency>
<dependency>
<groupId>org.codehaus.jackson</groupId>
<artifactId>jackson-core-asl</artifactId>
<version>1.3.0</version>
</dependency>
<dependency>
<groupId>org.codehaus.jackson</groupId>
<artifactId>jackson-mapper-asl</artifactId>
<version>1.3.0</version>
</dependency>
Run Code Online (Sandbox Code Playgroud)
马特
我想确保杰克逊生成的JSON文件永远不会打印出来.我是一名从事预先存在的项目的初级人员,因此我需要向后工作以找出JSON可以配置为输出的所有方式.我可以确认在项目中有0个引用.defaultPrettyPrintingWriter(),以及0个引用.setSerializationConfig,我相信它也可以用来启用漂亮的打印.
那怎么可能呢?或者,是否有一种可靠的方法来确保JSON文件不是很好的打印?
当调用.split时,是否有任何字符串可以返回带有空节点的数组?这是我试过的:
String string = "test,,test";
if (string != null && !string.isEmpty()) {
String[] parsedString = string.split(",");
for (String stringNode : parsedString) {
if (stringNode != null) {
//perform logic here. Omitted for the purpose of this question.
}
}
}
Run Code Online (Sandbox Code Playgroud)
我希望我的方法能够处理空字符串,但如果String.split()无法返回具有空节点的数组,那么删除它可能是安全的吗?
我在Chrome上安装了Rest Console扩展程序.我无法使用此Rest控制台进行任何操作,因为接受文本的唯一字段是"请求URL"和"请求方法".
我在这里问,因为即使是关于此扩展如何工作的简单说明,也没有资源或社区可访问,并且该社区的成员可能已使用此扩展.