小编tam*_*ren的帖子

如何在Java中选择两个同名的方法

我正在尝试访问我所创建的类中的方法,但由于它的名称和参数数量相似,我的IDE认为该方法不明确.这是两种方法的模拟:

methodName(X, Y, Z)
methodName(A, Y, Z)
Run Code Online (Sandbox Code Playgroud)

我调用了该方法,并null为了测试目的传递了第一个参数的值.不幸的是,我无法重命名方法,更改参数的顺序或以任何方式修改方法的结构.有没有办法可以区分这两种方法?

java overloading

43
推荐指数
1
解决办法
1612
查看次数

我如何模拟Object.getClass?

我正在研究一个Java项目想要为DTO中的.equals方法编写单元测试.在.equals方法中,有一个.getClass()方法被两个被测对象调用.我想嘲笑这个,但我不知道它想要什么类型的对象.我试过了,

when(mockRoomInv.getClass()).thenReturn(RoomInv.class);

但肯定是没有做任何事情.getClass的返回类型是什么,我该如何操作它?

java mockito

15
推荐指数
2
解决办法
9559
查看次数

如何模拟影响对象的void返回方法

我正在为我的应用程序编写单元测试,我想知道Mockito框架是否有可能影响传递给返回模拟类的void的方法的对象.例如,调用一个模拟的验证类,该类包含一个返回void但通过作为参数传入的对象跟踪各种更改和元数据的方法..

public GetCartItemsOutput getCartItems(GetCartItemsInput getCartItemsInput) {
    CartItemsFilter cartItemsFilter = new CartItemsFilter();
    validator.validateCartItemsInput(getCartItemsInput, cartItemsFilter); ...
Run Code Online (Sandbox Code Playgroud)

我为我的其他测试模拟了验证器类,但对于这个我需要模拟对cartItemsFilter对象的更改,我不知道该怎么做.

java mockito

13
推荐指数
2
解决办法
8701
查看次数

用Mockito模拟两个相同类型的物体

我正在使用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)

mockito

10
推荐指数
2
解决办法
1万
查看次数

RESTEasy:找不到内容类型application/json类型的writer

我有一个宁静的服务(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)

马特

java rest resteasy maven

8
推荐指数
2
解决办法
3万
查看次数

如何防止杰克逊输出漂亮的打印JSON?

我想确保杰克逊生成的JSON文件永远不会打印出来.我是一名从事预先存在的项目的初级人员,因此我需要向后工作以找出JSON可以配置为输出的所有方式.我可以确认在项目中有0个引用.defaultPrettyPrintingWriter(),以及0个引用.setSerializationConfig,我相信它也可以用来启用漂亮的打印.

那怎么可能呢?或者,是否有一种可靠的方法来确保JSON文件不是很好的打印?

java json jackson

7
推荐指数
1
解决办法
4145
查看次数

String.split()是否有可能在结果数组中返回一个空节点?

当调用.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()无法返回具有空节点的数组,那么删除它可能是安全的吗?

java string split

1
推荐指数
1
解决办法
5710
查看次数

Chrome的Rest控制台不允许我输入任何信息

我在Chrome上安装了Rest Console扩展程序.我无法使用此Rest控制台进行任何操作,因为接受文本的唯一字段是"请求URL"和"请求方法".

我在这里问,因为即使是关于此扩展如何工作的简单说明,也没有资源或社区可访问,并且该社区的成员可能已使用此扩展.

rest google-chrome

1
推荐指数
1
解决办法
7079
查看次数

标签 统计

java ×6

mockito ×3

rest ×2

google-chrome ×1

jackson ×1

json ×1

maven ×1

overloading ×1

resteasy ×1

split ×1

string ×1