小编Sil*_*Nak的帖子

PowerMockito.whenNew无法正常工作

嗨伙计们我是PowerMockito的新手,我想在PoweMockito中使用whenNew并且它不适合我,有人可以帮我解决这个问题吗?

下面是我用来测试Class2的Test方法,我使用PowerMockito.whenNew来模拟Class2中的mockTestMethod并将String Value作为"MOCKED VALUE"返回但是没有发生,实际上该方法正在执行并输出为"PassedString" ".如果我没有错,那么Output应该将字符串作为"Inside Class2方法MOCKED VALUE",但我得到输出为"Inside Class2方法PassedString".请帮助我解决这个问题,在此先感谢.

以下是我正在处理的完整程序

package com.hpe.testing2;

public class Class2 {

    public void testingMethod(){
        Class1 class1 = new Class1();
        String result = class1.mockTestMethod("PassedString");
        System.out.println("Inside Class2 method " + result);
    }

}

package com.hpe.testing2;

public class Class1 {

    public String mockTestMethod(String str2){
        String str1="SomeString";
        str1 = str2;
        System.out.println("Inside MockTest Method " + str1);
        return str1;
    }

}
Run Code Online (Sandbox Code Playgroud)

class2在内部调用Class1 mockTestMethod,如上所示.

package com.hpe.testing2;


import org.junit.runner.RunWith;
import org.mockito.Mock;
import org.mockito.Mockito;
import org.powermock.api.mockito.PowerMockito;
import org.powermock.core.classloader.annotations.PrepareForTest;
import org.powermock.modules.junit4.PowerMockRunner;


@RunWith(PowerMockRunner.class)
@PrepareForTest({Class2.class,Class1.class})
public class …
Run Code Online (Sandbox Code Playgroud)

java junit powermockito

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

根据对象数组中的键删除对象

下面是json:

var data= {
    'A' : {
        'Total' : 123,
        'Cricket' : 76,
        'Football' : 12,
        'Hockey' : 1,
        'None' : 10
    },
    'B' : {
        'Total': 123,
        'Cricket': 76,
        'Football': 12,
        'Hockey': 1,
        'None': 10
    },
    'C' : {
        'Total': 0,
        'Cricket': 76,
        'Football': 12,
        'Hockey': 1,
        'None': 10
    }   
}
Run Code Online (Sandbox Code Playgroud)

我想删除总值为零的C,

$.each(json, function (key, value) {
    if (value.Total === 0) {
        //delete
    }
});
Run Code Online (Sandbox Code Playgroud)

我尝试了各种方法,但没有工作

javascript jquery json object key-value

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

无法执行目标org.apache.maven.plugins:maven-compiler-plugin:3.5.1:在项目上编译(default-compile)

我有一个java项目,我重新配置为Maven项目.在重新配置并添加所需的大多数依赖项后,我在运行mvn install命令时在控制台中收到以下错误.我在这个问题上尝试了这里提到的解决方案,但它没有帮助

以下是控制台日志:

[INFO] Scanning for projects...
[INFO]                                                                         
[INFO] ------------------------------------------------------------------------
[INFO] Building FlockHydraAutomation 0.0.1-SNAPSHOT
[INFO] ------------------------------------------------------------------------
[INFO] 
[INFO] --- maven-resources-plugin:2.6:resources (default-resources) @ FlockHydraAutomation ---
[INFO] Using 'UTF-8' encoding to copy filtered resources.
[INFO] Copying 2 resources
[INFO] 
[INFO] --- maven-compiler-plugin:3.5.1:compile (default-compile) @ FlockHydraAutomation ---
[INFO] Changes detected - recompiling the module!
[INFO] Compiling 15 source files to C:\Maven\FlockHydra-Automation\FlockHydraAutomation\target\classes
[INFO] -------------------------------------------------------------
[ERROR] COMPILATION ERROR : 
[INFO] -------------------------------------------------------------
[ERROR] No compiler is provided in this environment. Perhaps you …
Run Code Online (Sandbox Code Playgroud)

java maven

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

如何将日期从英语转换为阿拉伯语

我有这个代码

frame.sigdate.setText(new SimpleDateFormat("yyyy/M/d").format(new Date()));
Run Code Online (Sandbox Code Playgroud)

它从我的电脑上用英文数字读取日期。我想要做的是将日期转换为阿拉伯数字。有什么类似的Local.ar吗?我很感激任何帮助。

java date arabic

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

使用jcifs读取文件的最简单方法

我试图使用外部jcifs库从网络共享中读取文件.我可以找到的大多数用于读取文件的示例代码非常复杂,可能不必要.我找到了一种写入文件的简单方法,如下所示.有没有办法使用类似的语法读取文件?

SmbFile file= null;
try {
    String url = "smb://"+serverAddress+"/"+sharename+"/TEST.txt";
    NtlmPasswordAuthentication auth = new NtlmPasswordAuthentication(null, username, password);
    file = new SmbFile(url, auth);
    SmbFileOutputStream out= new SmbFileOutputStream(file);
    out.write("test string".getBytes());
    out.flush();
    out.close();
} catch(Exception e) {
    JOptionPane.showMessageDialog(null, "ERROR: "+e);
}
Run Code Online (Sandbox Code Playgroud)

java jcifs

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

为什么我们在junit测试中使用Mockitojunitrunner类?

我是mockito框架的新手,我对此有一个非常基本的问题,为什么我们在junit测试类中使用MockitoJunitRunner类.此外,我发现以下两点与此相关,但无法得到它,任何人都可以详细解释以下两点

框架使用的自动验证实际上值得拥有.如果您犯下其中一个错误,它会为您提供更好的报告.

  • 您在模拟上调用verify,但忘记提供您要验证的方法调用.
  • 你调用when方法之一(静态方法,或doReturn之后的方法,doThrow或doAnswer)并传递模拟,但忘记提供你试图存根的方法.

java junit mockito

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

尝试解析JSONArray时发生ClassCastException

尝试使用json.simple库解析以下JSON字符串时:

[
    {"id" : "6d7662a9.f8ba04"},
    {"id" : "2da98cc2.145ba4"},
    {"id" : "45492640.a17d68"}
]
Run Code Online (Sandbox Code Playgroud)

我得到这个例外:

java.lang.ClassCastException: org.json.simple.JSONArray cannot be cast to org.json.simple.JSONArray
Run Code Online (Sandbox Code Playgroud)

这就是我的做法:

JSONArray json = (JSONArray) new JSONParser().parse(jsonString);
Run Code Online (Sandbox Code Playgroud)

JSON字符串是一个数组,因此不确定为什么会引发该异常。

这里有几个类似的问题,但是在他们的情况下,他们试图将a强制转换JSONObject为a,JSONArray因此抛出异常是有意义的,但在这种情况下,它看起来是正确的。

-----------------编辑-----------------

我添加了一行来打印对象的类,如下所示:

Object json = new JSONParser().parse(jsonString);
System.out.println(json.getClass());
Run Code Online (Sandbox Code Playgroud)

打印以下行:

class org.json.simple.JSONArray
Run Code Online (Sandbox Code Playgroud)

在下一行中,如果出现以下情况,则显示为:

if(json instanceof JSONArray) {
    System.out.println("This is a JSONArray");
}
Run Code Online (Sandbox Code Playgroud)

但是它不访问if,所以它真的很奇怪,因为首先我检查对象是否为JSONArray,但它不会打印 "This is a JSONArray"

java json classcastexception

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

JPA:检查集合是否有具有属性的成员

在我的软件中,我有一个实体(我们称之为Member)和另一个实体(我们称之为State)的集合。我需要编写的查询应返回所有没有State特定属性值(例如5)的成员。

以下是实体的相关部分:

public class Member {
    @JoinColumn(name = "MEMBER_ID")
    @OneToMany
    private List<State> states;

    @Column
    private String name;
}

public class State {
    @Column
    private int property;
}
Run Code Online (Sandbox Code Playgroud)

Member请注意,和之间没有双向映射State,该映射是在关系 ( ) 的非拥有方声明的Member。在 SQL 中我会创建一个像这样的查询:

public class Member {
    @JoinColumn(name = "MEMBER_ID")
    @OneToMany
    private List<State> states;

    @Column
    private String name;
}

public class State {
    @Column
    private int property;
}
Run Code Online (Sandbox Code Playgroud)

但我不知道有什么方法可以在 JPQL 中实现相同的功能,而无需在关系的拥有方进行映射。有没有什么方法可以实现这一点而不必费心双向映射?

java hibernate jpa jpql

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