1 package host.exp.exponent 2 3 import android.Manifest 4 import androidx.test.espresso.Espresso 5 import androidx.test.espresso.IdlingResource 6 import androidx.test.rule.GrantPermissionRule 7 import host.exp.exponent.annotations.ExpoAlwaysPassThroughFilter 8 import host.exp.exponent.utils.* 9 import org.junit.* 10 import org.junit.rules.RuleChain 11 import org.junit.runner.RunWith 12 import org.junit.runners.MethodSorters 13 14 @RunWith(ExpoTestRunner::class) 15 @FixMethodOrder(MethodSorters.NAME_ASCENDING) 16 class DevModeTests : BaseTestClass() { 17 private lateinit var loadingScreenIdlingResource: IdlingResource 18 19 @Before 20 fun before() { 21 // Setup Espresso 22 loadingScreenIdlingResource = LoadingScreenIdlingResource() 23 Espresso.registerIdlingResources(loadingScreenIdlingResource) 24 } 25 26 @After 27 fun after() { 28 Espresso.unregisterIdlingResources(loadingScreenIdlingResource) 29 } 30 31 @Rule 32 @JvmField 33 val chain: RuleChain = RuleChain.outerRule(TestReporterRule()).around(RetryTestRule(3)) 34 35 @Rule 36 @JvmField 37 val permissionRule: GrantPermissionRule = GrantPermissionRule.grant(Manifest.permission.SYSTEM_ALERT_WINDOW) 38 39 @Test 40 @ExpoAlwaysPassThroughFilter 41 fun junitIsSillyAndWillFailIfThereIsntOneTestRunPerFile() { 42 } 43 44 companion object { 45 @BeforeClass 46 @JvmStatic 47 fun beforeClass() { 48 BaseTestClass.beforeClass() 49 } 50 } 51 } 52