我有
Android应用程序项目,在Android Studio中工作.
我的应用程序文件位于my.package包中
我的单元测试在my.package.unittest包中
我的espresso测试在my.package.androidtest包中 @H_502_5@在我的一个espresso测试中,我需要使用我在unittest包下的一个类,但我无法做到. @H_502_5@我需要使用的Unittest类位于app / src / test / java文件夹中:
我的应用程序文件位于my.package包中
我的单元测试在my.package.unittest包中
我的espresso测试在my.package.androidtest包中 @H_502_5@在我的一个espresso测试中,我需要使用我在unittest包下的一个类,但我无法做到. @H_502_5@我需要使用的Unittest类位于app / src / test / java文件夹中:
package my.package.unittest; public class HelperClass { ... }@H_502_5@我试图使用它的文件是在app / src / androidTest / java文件夹中:
package my.package.androidtest; import static my.package.unittest.*; @RunWith(AndroidJUnit4.class) @LargeTest public class AppTest { HelperClass.staticMethod(); }@H_502_5@我得到的错误是:无法解析符号HelperClass @H_502_5@附加信息:
import my.package.unittest.HelperClass;@H_502_5@这本身就给出了“无法解析符号”的错误. @H_502_5@在我的Espresso测试中使用我的UnitTests中的HelperClass的正确方法是什么.
解决方法
@Jeremy Kao指出了正确的答案.
@H_502_5@1 – >在app / src中创建一个目录.你可以称之为testShared.
@H_502_5@2 – >将您的类放在此目录中.
@H_502_5@3 – >在app / build.gradle里面放:
android.sourceSets { test { java.srcDirs += "$projectDir/src/testShared" } androidTest { java.srcDirs += "$projectDir/src/testShared" } }@H_502_5@把它放在android闭包之外的任何地方. @H_502_5@4 – >玩得开心! @H_502_5@资源: @H_502_5@http://trickyandroid.com/android-test-tricks-sharing-code-between-unit-ui-tests/