我能找到的所有使用 Robolectric 的例子似乎都是基于 Maven 的。有人不使用Maven吗?如果是这样,我真的很想了解您的 IntelliJ 项目设置。
读过这篇文章
结合纯 junit、robolectric 和 android 测试框架测试,对单元测试 android 项目采用分层方法似乎是明智的。如果有人在有或没有 Maven 的情况下这样做,我很想了解一点关于您如何在 IntelliJ 中配置项目的信息。
我猜我需要多个项目/模块。对此表示感谢的任何智慧。
我能找到的所有使用 Robolectric 的例子似乎都是基于 Maven 的。有人不使用Maven吗?如果是这样,我真的很想了解您的 IntelliJ 项目设置。
读过这篇文章
结合纯 junit、robolectric 和 android 测试框架测试,对单元测试 android 项目采用分层方法似乎是明智的。如果有人在有或没有 Maven 的情况下这样做,我很想了解一点关于您如何在 IntelliJ 中配置项目的信息。
我猜我需要多个项目/模块。对此表示感谢的任何智慧。
Maven 是一个让事情变得更方便的好工具。如果您仍在寻找在没有 Maven 的情况下在 intellij 中安装 Robolectric 的方法,请继续:
下载 Robolectric: https ://oss.sonatype.org/index.html#nexus-search;quick~robolectric 下载最新的 jar-with-dependencies.jar 文件。下载它并将它放在你的应用程序项目的 libs/ 目录中
使用以下文件结构设置您的应用程序源(这是为 Robolectric 测试设置目录的一种广泛使用的方法)
ProjectName/
src/
main/
java/
com/
example/
packageName/
javaClassesHere.java
test/
java/
com/
example/
packageName/
javaTestClassesHere.java
在 Intellij 中,转到文件 > 项目结构。然后在左栏中,选择“模块”。
在中间列中,选择您的应用模块。
然后在右栏中,单击“来源”选项卡。
现在在文件浏览器中,找到“src”目录并展开它。然后在 src 中展开你的“main”和“test”目录。单击“main”下的“java”目录,然后向顶部单击蓝色的“Sources”按钮。然后对于“test”下的“java”目录,朝顶部单击“Test Sources”按钮。
此外,单击主“src”目录并取消选择蓝色源按钮以使其不再是蓝色。
现在仍在项目结构窗口中,转到左侧列并单击“库”。
如果您已经在中间列中看到了 robolectric 条目,请单击它,然后单击中间列顶部的红色“-”符号。
现在单击中间列上方的绿色“+”号,然后选择“Java”。浏览到您在步骤 1 中下载的 robolectric jar。(应该在项目的 libs/ 目录中。
现在会出现一个窗口,询问您要在哪些模块上使用 robolectric。选择将要使用的所有模块robolectric 并单击 ok. 现在单击 apply 和 ok 以退出项目结构。
您现在已准备好使用 robolectric 进行测试!
我猜大多数使用 Roboelectric 的人使用 Maven 的原因是大多数使用 Roboelectric 的人都认真对待他们的测试。
鉴于他们有动力投入大量精力进行测试,他们很可能希望能够将他们的测试包含在自动化构建中,通常是在持续集成 (CI) 服务器中,例如 Jenkins 或 Hudson。
当你想做自动化测试时,你需要一个好的命令行构建。Gradle 是全新的 Android 官方命令行构建工具,但它是全新的,仍在开发中,尚未被广泛采用。久经考验的工具是 Maven。
很多人都喜欢讨厌 Maven,但它完成了工作,并以一英里的优势击败了 Ant。
因此,使用 Maven(或 Gradle)可能不是一个坏主意——与仅在 IDE 中运行测试相比,它会给您带来更多的测试成本。
我是 Robolectric 天空中的一只早起的鸟,从不走 Maven 的方式开始。我的主要动机是尝试该框架,因此从未考虑过使用 Maven。我在以下网址记录了我的学习成果: http:
//dasherize.blogspot.in/2013/04/robolectric-beginning.html ,您可以 在此处
找到设置说明。
注意:这是关于 Robolectric 1.x 的。但它不应该随着版本的变化而变化很大。
至于这个答案,我完全同意@GreyBeardedGeek。如果你想设置 CI,你必须使用 Maven。