Skip to content

Commit

Permalink
Ability to run unit tests in react-android-github via gradle
Browse files Browse the repository at this point in the history
Reviewed By: mkonicek

Differential Revision: D2699804

fb-gh-sync-id: 7b31287407bacf2e8e3de6ee1c723a11bb2a0f27
  • Loading branch information
bestander authored and facebook-github-bot-6 committed Nov 27, 2015
1 parent be285c4 commit 01983c2
Show file tree
Hide file tree
Showing 5 changed files with 44 additions and 4 deletions.
8 changes: 8 additions & 0 deletions ReactAndroid/build.gradle
Original file line number Diff line number Diff line change
Expand Up @@ -256,6 +256,14 @@ dependencies {
compile 'com.squareup.okhttp:okhttp-ws:2.5.0'
compile 'com.squareup.okio:okio:1.6.0'
compile 'org.webkit:android-jsc:r174650'

testCompile "junit:junit:${JUNIT_VERSION}"
testCompile "org.powermock:powermock-api-mockito:${POWERMOCK_VERSION}"
testCompile "org.powermock:powermock-module-junit4-rule:${POWERMOCK_VERSION}"
testCompile "org.powermock:powermock-classloading-xstream:${POWERMOCK_VERSION}"
testCompile "org.mockito:mockito-core:${MOCKITO_CORE_VERSION}"
testCompile "org.easytesting:fest-assert-core:${FEST_ASSERT_CORE_VERSION}"
testCompile("org.robolectric:robolectric:${ROBOLECTRIC_VERSION}")
}

apply from: 'release.gradle'
6 changes: 6 additions & 0 deletions ReactAndroid/gradle.properties
Original file line number Diff line number Diff line change
Expand Up @@ -6,3 +6,9 @@ POM_ARTIFACT_ID=react-native
POM_PACKAGING=aar

android.useDeprecatedNdk=true

MOCKITO_CORE_VERSION=1.+
POWERMOCK_VERSION=1.6.2
ROBOLECTRIC_VERSION=3.0
JUNIT_VERSION=4.12
FEST_ASSERT_CORE_VERSION=2.0M10
Original file line number Diff line number Diff line change
Expand Up @@ -53,7 +53,7 @@
* Tests for {@link AsyncStorageModule}.
*/
@PrepareForTest({Arguments.class})
@PowerMockIgnore({"org.mockito.*", "org.robolectric.*", "android.*"})
@PowerMockIgnore({"org.mockito.*", "org.robolectric.*", "android.*", "org.json.*"})
@RunWith(RobolectricTestRunner.class)
public class AsyncStorageModuleTest {

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -77,9 +77,9 @@ public Object answer(InvocationOnMock invocation) throws Throwable {
PowerMockito.mockStatic(ReactChoreographer.class);
when(ReactChoreographer.getInstance()).thenReturn(mChoreographerMock);

CatalystInstance catalystInstance = mock(CatalystInstance.class);
CatalystInstance reactInstance = mock(CatalystInstance.class);
ReactApplicationContext reactContext = mock(ReactApplicationContext.class);
when(reactContext.getCatalystInstance()).thenReturn(catalystInstance);
when(reactContext.getCatalystInstance()).thenReturn(reactInstance);

mCurrentTimeNs = 0;
mPostFrameCallbackHandler = new PostFrameCallbackHandler();
Expand All @@ -92,7 +92,7 @@ public Object answer(InvocationOnMock invocation) throws Throwable {

mTiming = new Timing(reactContext);
mJSTimersMock = mock(JSTimersExecution.class);
when(catalystInstance.getJSModule(JSTimersExecution.class)).thenReturn(mJSTimersMock);
when(reactInstance.getJSModule(JSTimersExecution.class)).thenReturn(mJSTimersMock);
mTiming.initialize();
}

Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,26 @@
/*
* Copyright (c) 2015-present, Facebook, Inc.
* All rights reserved.
*
* This source code is licensed under the BSD-style license found in the
* LICENSE file in the root directory of this source tree. An additional grant
* of patent rights can be found in the PATENTS file in the same directory.
*/

package org.mockito.configuration;

/**
* Disables the Mockito cache to prevent Mockito & Robolectric bugs.
*
* Mockito loads this with reflection, so this class might appear unused.
*/
@SuppressWarnings("unused")
public class MockitoConfiguration extends DefaultMockitoConfiguration {

/* (non-Javadoc)
* @see org.mockito.configuration.IMockitoConfiguration#enableClassCache()
*/
public boolean enableClassCache() {
return false;
}
}

0 comments on commit 01983c2

Please sign in to comment.