从TestProject覆盖Activity类的一部分

时间:2013-05-14 16:04:56

标签: java android testing override

我有两个项目,一个是SourceProject和一个TestProject。在Source-Project中,我有以下类:

public class MyActivity extends Activity {
    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.main);
        Log.i("", "normal mode");
    }
}

在我的测试项目中,我想更改/覆盖日志消息,例如。当然,我可以执行以下操作,只需将新类放在相同的包路径下,然后按如下方式更改类:

public class MyActivity extends Activity {
    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.main);
        Log.i("", "test mode");
    }
}

但是,假设我的课程中有更多功能,并希望使用此功能(在我的测试课程中也是如此)。我不能只扩展我的SourceProject-Class“MyActivity”,因为它的名字相同。但是如果我将名称更改为“MyActivityX extends MyActivity”,它显然不会被编译到应用程序中。

有没有人有解决方案,这不需要我将完整的源类复制到测试项目并在那里进行修改?

1 个答案:

答案 0 :(得分:0)

如果您在Linux下工作,您可以在其中一个项目中使用链接而不是文件。

$ ln -s {/path/to/file-name} {link-name}

我不知道Windows下是否有链接。