我有Android app项目,在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
的正确方法是什么。
答案 0 :(得分:13)
@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/