用RobolectrictestingAndroid库

我创build了一个可以在Android环境中使用的库。 目前它包含普通旧Groovy对象 ,没有Android依赖关系。 那些POGO的testing没有问题。

为了扩展库的function,我创build了从Android类inheritance或依赖它们的类,我也想testing它们。 当然,testing应该是库的一部分,不应该作为包含库的Android应用程序项目的一部分来实现。

我知道一个应用程序可以在Robolectric的帮助下进行testing,并且工作得很好,但是如果没有整个Android应用程序,我认为没有可能使用它。

有没有一种方法来testingAndroid的依赖和Robolectric库?

我正在使用Android Studio 1.2。

Solutions Collecting From Web of "用RobolectrictestingAndroid库"

我认为Robolectric对你来说是个不错的select。 例如,如果您编写了一个inheritance自DialogFragment的类,您可以看到它是否正确运行:

@RunWith(RobolectricTestRunner.class) public class ProgressDialogFragmentTest { private static final String MESSAGE_KEY = "KEY_PROGRESS_MESSAGE"; private static final String TEST_MESSAGE = "test message"; @Test public void argumentsContainExpectedKey() { //given ProgressDialogFragment fragment = ProgressDialogFragment.newInstance(TEST_MESSAGE); //when boolean containsExpectedKey = fragment.getArguments().containsKey(MESSAGE_KEY); //then assertTrue(containsExpectedKey); } @Test public void argumentsContainsValidMessage() { //given ProgressDialogFragment fragment = ProgressDialogFragment.newInstance(TEST_MESSAGE); //when String actualMessage = fragment.getArguments().getString(MESSAGE_KEY); //then assertEquals(TEST_MESSAGE, actualMessage); } @Test public void createdDialogIsProgressDialog() { //given ProgressDialogFragment fragment = ProgressDialogFragment.newInstance(TEST_MESSAGE); FragmentTestUtil.startFragment(fragment); //when Dialog dialog = fragment.getDialog(); //then assertTrue(dialog instanceof ProgressDialog); } @Test public void dialogIsHiddenBeforeRunShowMethod() { //given ProgressDialogFragment fragment = ProgressDialogFragment.newInstance(TEST_MESSAGE); FragmentTestUtil.startFragment(fragment); //when ProgressDialog dialog = (ProgressDialog) fragment.onCreateDialog(fragment.getArguments()); boolean showing = dialog.isShowing(); //then assertFalse(showing); } }