安装robolectric与maven和eclipse进行android测试

时间:2014-04-15 17:02:40

标签: android eclipse maven robolectric

我在互联网上通过了四个多小时寻找在Eclipse / Maven中安装Robolectric的方法/教程/指南,但我没有找到具体的东西。

我尝试在POM中添加依赖项,它不起作用。

我也尝试在本地安装它(创建一个新的java项目并链接到测试文件夹)只是为了测试它,但它不能正常工作(因为应用程序是一个maven)。

有人能帮助我吗? 谢谢你的时间。

2 个答案:

答案 0 :(得分:1)

我昨天刚刚做过:)

这是我必须添加到我的pom.xml中的内容

某些版本

<fest-android.version>1.0.7</fest-android.version>
<robolectric.version>2.2</robolectric.version>
<junit.version>4.8.2</junit.version>
<android.test.version>4.2.2_r2</android.test.version>

某些依赖

<!-- Test Dependencies  -->
<dependency>
  <groupId>com.squareup</groupId>
  <artifactId>fest-android</artifactId>
  <version>${fest-android.version}</version>
  <scope>test</scope>
</dependency>
<dependency>
    <groupId>org.robolectric</groupId>
    <artifactId>robolectric</artifactId>
    <version>${robolectric.version}</version>
    <scope>test</scope>
</dependency>
<dependency>
    <groupId>junit</groupId>
    <artifactId>junit</artifactId>
    <version>${junit.version}</version>
    <scope>test</scope>
</dependency>
<dependency>
     <groupId>android</groupId>
     <artifactId>android</artifactId>
     <version>${android.test.version}</version>
     <scope>provided</scope>
 </dependency>

显然,如果你不使用fest-android,你就不需要你的pom中的版本和依赖。

build 标记中的Surefire

<plugin>
      <groupId>org.apache.maven.plugins</groupId>
      <artifactId>maven-surefire-plugin</artifactId>
      <version>2.6</version>
      <configuration>
          <argLine>-Xmx1024m</argLine>
      </configuration>
  </plugin>

指向您的测试文件夹

默认情况下,surefire会在/ src / test / java中查找测试类,但是如果您更改了它,请在结束 build 标记之前配置测试文件夹:

<testSourceDirectory>test</testSourceDirectory>

完成!

干杯。

答案 1 :(得分:0)

这是m2e-android的已知问题,将在下一版本中修复:

https://github.com/rgladwell/m2e-android/issues/52

请关注my Twitter feed或订阅Maven Android Developers mailing list以获取更新。