在test和androidTest之间共享测试类

我有 Android应用程序项目,在Android Studio中工作.
我的应用程序文件位于my.package包中
我的单元测试在my.package.unittest包中
我的espresso测试在my.package.androidtest包中

在我的一个espresso测试中,我需要使用我在unittest包下的一个类,但我无法做到.

我需要使用的Unittest类位于app / src / test / java文件夹中:

package my.package.unittest;
public class HelperClass {
...
}

我试图使用它的文件是在app / src / androidTest / java文件夹中:

package my.package.androidtest;

import static my.package.unittest.*;

@RunWith(AndroidJUnit4.class)
@LargeTest
public class AppTest {
    HelperClass.staticmethod();
}

我得到的错误是:无法解析符号HelperClass

附加信息:

import my.package.unittest.HelperClass;

这本身就给出了“无法解析符号”的错误.

在我的Espresso测试中使用我的UnitTests中的HelperClass的正确方法是什么.

解决方法

@Jeremy Kao指出了正确的答案.

1 – >在app / src中创建一个目录.你可以称之为testShared.

2 – >将您的类放在此目录中.

3 – >在app / build.gradle里面放:

android.sourceSets {  
    test {
        java.srcDirs += "$projectDir/src/testShared"
    }

    androidTest {
        java.srcDirs += "$projectDir/src/testShared"
    }
}

把它放在android闭包之外的任何地方.

4 – >玩得开心!

资源:

http://trickyandroid.com/android-test-tricks-sharing-code-between-unit-ui-tests/

相关文章

Android性能优化——之控件的优化 前面讲了图像的优化,接下...
前言 上一篇已经讲了如何实现textView中粗字体效果,里面主要...
最近项目重构,涉及到了数据库和文件下载,发现GreenDao这个...
WebView加载页面的两种方式 一、加载网络页面 加载网络页面,...
给APP全局设置字体主要分为两个方面来介绍 一、给原生界面设...
前言 最近UI大牛出了一版新的效果图,按照IOS的效果做的,页...