Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/199.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java Jmockit:Can';t mock方法toString的net.android.Uri类_Java_Android_Junit_Jmockit - Fatal编程技术网

Java Jmockit:Can';t mock方法toString的net.android.Uri类

Java Jmockit:Can';t mock方法toString的net.android.Uri类,java,android,junit,jmockit,Java,Android,Junit,Jmockit,IDE:androidstudio 2.2.2 | Jmockit:2.1 | Java:1.8.0 | u102-b14 我试图模拟net.android.Uri类的toString()方法。该类上的所有方法都可以模拟OK,但toString()方法除外 @测试 public void方法(@Mocked final Uri)引发异常{ 新的非严格测量(){ { getHost(); 结果=“sendViewLog”; getAuthority(); result=“getAuthority”

IDE:androidstudio 2.2.2 | Jmockit:2.1 | Java:1.8.0 | u102-b14

我试图模拟net.android.Uri类的toString()方法。该类上的所有方法都可以模拟OK,但toString()方法除外

@测试
public void方法(@Mocked final Uri)引发异常{
新的非严格测量(){
{
getHost();
结果=“sendViewLog”;
getAuthority();
result=“getAuthority”;
getEncodedFragment();
结果=“getEncodedFragment”;
getPort();
结果=8080;

uri.toString();//开发者的回答:

是的,只能模拟实现的(带有主体,而不是抽象的)toString()方法

@Test
public void method(@Mocked final Uri uri) throws Exception {
    new NonStrictExpectations() {
            {
                uri.getHost();
                result = "sendViewLog";
                uri.getAuthority();
                result = "getAuthority";
                uri.getEncodedFragment();
                result = "getEncodedFragment";
                uri.getPort();
                result = 8080;
                uri.toString(); // <-------
                result = "helloWorld";
            }
        };      

    sut.method();
}