小编RaB*_*RaB的帖子

使用ant与库项目的Android单元测试

似乎最新的Android SDK工具仍然不能正确支持包含链接库项目的应用程序的测试.

我有一个项目,具有以下设置:

TestLib(android库项目)< - TestMain(android项目)< - TestMainTest(android单元测试项目)

我在eclipse中创建了所有这些项目,然后用于android update (test-/lib-)project ...生成build.xmlet.人.

一旦你在TestMain(InheritAddition.java在我的例子中)中有一个继承自TestLib(Addition.java)中的类并且你想在单元test(InheritAdditionTest.java)中引用这个类的类,问题就会开始.

TESTLIB

public class Addition {
    public int add2(int o1, int o2) {
      return o1 + o2;
    }
}
Run Code Online (Sandbox Code Playgroud)

TestMain

public class InheritAddition extends Addition {
    public int sub(int p1, int p2) {
        return p1 - p2;
    }
}
Run Code Online (Sandbox Code Playgroud)

TestMainTest

public class InheritAdditionTest extends AndroidTestCase {
    public void testSub() {
        Assert.assertEquals(2, new InheritAddition().sub(3, 1));
    }
}
Run Code Online (Sandbox Code Playgroud)

在命令行上构建时,结果如下:

W/ClassPathPackageInfoSource(14871): …

android unit-testing android-testing

21
推荐指数
2
解决办法
6688
查看次数

将其他存储库合并到子目录后修复损坏的 git 历史记录

我有以下 git 存储库

  • 回购A
  • 回购B
  • 回购协议

我合并成

  • repoAll,其中每个存储库都被移动到子目录中

所以这看起来像

  • 回购全部
    • 迪拉
    • 目录
    • 目录

我已按照http://jasonkarns.com/blog/merge-two-git-repositories-into-one/上的说明进行操作以实现此目的。这本质上意味着

git remote add -f repoA /path/to/repoA
git merge -s ours --no-commit repoA/master
git read-tree --prefix=dirA/ -u repoA/master
git ci -m "merging repoA into dirA"
...
Run Code Online (Sandbox Code Playgroud)

但是现在文件的历史记录不再连接了

git log --follow dirA/pom.xml
Run Code Online (Sandbox Code Playgroud)

什么也没显示。

然而,

git log --follow pom.xml
Run Code Online (Sandbox Code Playgroud)

确实显示该文件的正确(旧)历史记录。这还不够好,因为没有任何工具(例如 eclipse 或其他 git 客户端)能够显示完整的历史记录。

更糟糕的是,合并的存储库上已经有新的提交,因此再次进行合并并不是真正的选择(我现在知道我应该在进行合并之前进入)repoA/*repoA/dirA

我考虑过插入一个提交,该提交将在 repoAll 上的初始合并之前进行移动,但这需要我对所有更改(现在是 100+)进行变基并解决更改。

问题/解决方案Git 日志在执行读取树合并后显示很少,以及如何重写历史记录,以便所有文件(除了我已经移动的文件)都位于子目录中?似乎只适用于整个存储库,不适用于特定的子目录(或者至少如果您已经在 repoAll 上有了新的提交)。

我认为应该有某种方法来重写特定子目录(例如 dirA)的历史记录,但我似乎不知道如何重写。

git merge git-filter-branch git-subtree

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