我正在尝试在jar库中测试一个方法,并希望使用Robolectric进行单元测试,而不是在Android模拟器中运行测试。我遇到了一个问题,Robolectric需要一个不存在的androidmanifest.xml文件,因为我正在构建一个库......
有没有办法在没有app的情况下运行Robolectric测试?
以下是我的测试用例和测试代码:
public class ObjectUnderTest {
methodUnderTest(View v) {
...
}
}
@RunWith(RobolectricTestRunner.class)
public class Tests {
@Test
public void methodUnderTest_Test() {
...
}
}
当我运行测试套件时,我从Robolectric获取了一个FileNotFoundException,寻找androidmanifest.xml。我尝试使用JUnit4测试运行器,但后来我得到了“Stub!”我为methodUnderTest()创建一个View的异常。
除了为单元测试创建存根应用程序之外,还有办法做到这一点吗?谢谢!
答案 0 :(得分:1)
这取决于您使用的Robolectric。
如果您使用2.0,则可以尝试使用@Config(manifest = Config.NONE)注释您的测试类。
如果您使用1.x我认为这是可行的,但需要更多努力: