Java 重写TestProject中活动类的部分

Java 重写TestProject中活动类的部分,java,android,testing,overriding,Java,Android,Testing,Overriding,我有两个项目,一个SourceProject和一个TestProject。在源项目中,我有以下类: public class MyActivity extends Activity { @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.main);

我有两个项目,一个SourceProject和一个TestProject。在源项目中,我有以下类:

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类“MyActivity”,因为它的名称是相等的。但是,如果我将名称更改为“MyActivityX扩展MyActivity”,它显然不会被编译到应用程序中


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

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

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

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

但是我无法出于测试目的修改它。这与我的测试项目中根本没有此文件基本相同。您可以尝试使用一些版本控制系统,为同一文件创建多个分支,根据需要合并。试试Git或Svn。