当我尝试在IntelliJ IDEA中运行以下测试时,我收到消息:
"!!! JUnit 3.8或更高版本预期:"
应该注意的是,这是我在IntelliJ IDEA 9中工作的Android项目.
public class GameScoreUtilTest {
@Test
public void testCalculateResults() throws Exception {
final Game game = new Game();
final Player player1 = new Player();
{
final PlayedHole playedHole = new PlayedHole();
playedHole.setScore(1);
game.getHoleScoreMap().put(player1, playedHole);
}
{
final PlayedHole playedHole = new PlayedHole();
playedHole.setScore(3);
game.getHoleScoreMap().put(player1, playedHole);
}
final GameResults gameResults = GameScoreUtil.calculateResults(game);
assertEquals(4, gameResults.getScore());
}
}
Run Code Online (Sandbox Code Playgroud)
完整的堆栈跟踪看起来像这样......
!!! JUnit version 3.8 or later expected:
java.lang.RuntimeException: Stub!
at junit.runner.BaseTestRunner.<init>(BaseTestRunner.java:5)
at junit.textui.TestRunner.<init>(TestRunner.java:54) …Run Code Online (Sandbox Code Playgroud) 我试图了解如何处理以下项目设置:
?Top Android Project
?
??? Project 1 - (Pure Java Modules)
? ?
? ??? Module A1
? ??? Module B1
? :
? ??? Module Z1
?
??? Project 2 - (Android Libraries Modules)
? ?
? ??? Module A2
? ??? Module B2
? :
? ??? Module Z2
?
??? Module - Actual Android Project
Run Code Online (Sandbox Code Playgroud)
在当前的设置中,我在每个模块中都有一个build.gradle,我真正讨厌这个设置的是build.gradle的所有内容在模块之间重复.
事实上,我想在大多数情况下都使用相同的逻辑," 纯Java模块 "都是基础模块,我想将输出,JavaDoc和源,以及部署到某个远程存储库(*默认).
另一方面,' 纯Java模块 '的一些模块我想有第二个议程,例如,除了默认*构建之外,我想部署一个具有特定项目的依赖项的jar,或类似的东西.
在构建Actual Android Project时,我希望模块能够在默认的*build中编译,最后为我的所有Android项目配置一个默认的build.gradle,这些项目很多,我不想复制它文件.
================================================== =============
我想我正在寻找的东西就像Maven父母pom,但由于我不完全理解Gradle是如何工作的,我打开这个给你们分享你的想法......
考虑到重复相同的构建文件(我敢说)是不可接受的,因为我可能想要在所有模块的所有构建逻辑中更改某些内容
处理这种设置的最佳方法是什么?