Jen*_*eni 10 android unit-testing
我有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 {
...
}
Run Code Online (Sandbox Code Playgroud)
我试图使用它的文件是在app/src/androidTest/java文件夹中:
package my.package.androidtest;
import static my.package.unittest.*;
@RunWith(AndroidJUnit4.class)
@LargeTest
public class AppTest {
HelperClass.staticMethod();
}
Run Code Online (Sandbox Code Playgroud)
我得到的错误是:无法解析符号HelperClass
附加信息:
import my.package.unittest.HelperClass;
Run Code Online (Sandbox Code Playgroud)
这本身就给出了"无法解析符号"的错误.
HelperClass在我的Espresso测试中使用我的UnitTests 的正确方法是什么.
Lea*_*ira 16
@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"
}
}
Run Code Online (Sandbox Code Playgroud)
把它放在android闭包之外的任何地方.
4 - >玩得开心!
资源:
http://trickyandroid.com/android-test-tricks-sharing-code-between-unit-ui-tests/