有没有人在IntelliJ上使用没有Maven的Robolectric?

时间:2013-06-03 22:33:10

标签: android unit-testing maven robolectric

所有使用Robolectric的例子我都可以找到Maven。有人不使用Maven吗?如果是这样,我真的很想了解你的IntelliJ项目设置。

阅读这篇文章

android-unit-test-approaches

使用纯junit,robolectric和amp;的组合对单元testig android项目采用分层方法似乎是明智的。 android测试框架测试。如果有人在有或没有Maven的情况下这样做,我很想了解你如何在IntelliJ中配置你的项目。

我猜我需要多个项目/模块。对此的任何智慧都感激不尽。

3 个答案:

答案 0 :(得分:6)

Maven是一个让事情变得更方便的好工具。如果您仍在寻找一种在intellij WITHOUT Maven中安装Robolectric的方法,请跟随:

  1. 下载Robolectric: https://oss.sonatype.org/index.html#nexus-search;quick~robolectric 下载最新的jar-with-dependencies.jar文件。 下载并将其放入应用程序项目的libs /目录中

  2. 使用以下文件结构设置您的应用来源 (这是一种广泛使用的为Robolectric测试设置目录的方法)

    ProjectName/  
        src/  
             main/  
                 java/  
                      com/  
                          example/  
                                  packageName/  
                                             javaClassesHere.java
             test/
                 java/
                      com/
                          example/
                                  packageName/
                                             javaTestClassesHere.java
    
  3. 在Intellij中,转到文件>项目结构。然后在左栏中选择“模块” 在中间列中,选择您的应用模块 然后在右列中,单击“来源”选项卡 现在在文件浏览器中,找到“src”目录并展开它。然后展开“主”和“测试”目录 在src里面。单击“main”下的“java”目录,然后单击顶部 蓝色“来源”按钮。然后为“test”下的“java”目录,向顶部点击 “测试源”按钮。
    另外,单击主“src”目录并取消选择蓝色源按钮,使其不再为蓝色。

  4. 现在仍在项目结构窗口中,转到左侧栏并单击“库” 如果您已在中间列中看到robolectric的条目,请单击它然后单击红色“ - ” 在中间栏的顶部签名。
    现在单击中间列上方的绿色“+”符号,然后选择“Java”。浏览到你的 你在步骤1中下载的robolectric jar。(应该在你项目的libs /目录中。
    现在会出现一个窗口,询问您要使用robolectric的模块。全选 将要使用robolectric的模块,然后单击确定。现在点击“申请”,然后退出 项目结构。

  5. 您现在已经准备好使用robolectric进行测试了!

答案 1 :(得分:3)

我猜大多数人都在使用Roboelectric的原因是使用Maven是大多数懒得使用Roboelectric的人对他们的测试非常认真。

鉴于他们有动力投入大量精力进行测试,他们很可能希望能够将他们的测试包含在自动构建中,通常是在持续集成(CI)服务器中,例如Jenkins或哈德森。

如果要进行自动化测试,则需要良好的命令行构建。 Gradle是面向Android的全新官方命令行构建工具,但它是全新的,仍在进行中,尚未广泛采用。经过验证的工具是Maven。

很多人都喜欢讨厌Maven,但它完成了工作,并以一英里的速度击败了Ant。

因此,使用Maven(或Gradle)可能并不是一个坏主意 - 它将为您的测试降压提供更多优势,而不仅仅是在IDE中运行测试。

答案 2 :(得分:2)

我是Robolectric天空中的早鸟,开始时没有采用Maven方式。我的主要动机是尝试框架,因此从未考虑过使用Maven。 我记录了我的学习内容:
http://dasherize.blogspot.in/2013/04/robolectric-beginning.html
您可以找到设置说明here

注意:这是关于Robolectric 1.x.但随着版本的变化,它不应有太大变化。

至于this answer我完全赞同@GreyBeardedGeek。如果你想设置CI,你必须与Maven安定下来。