From b237490bfbf30a56729a197135c962962679484d Mon Sep 17 00:00:00 2001 From: Andrew Wang Date: Thu, 3 Oct 2024 11:50:26 -0700 Subject: [PATCH] Rename `LithoViewRule` to `LithoTestRule` Summary: - Rename all `LithoViewRule` to `LithoTestRule` - Delete typealias Reviewed By: adityasharat Differential Revision: D63834338 fbshipit-source-id: cf97ce71ac3f4581ab8afa3c3524807239cc44a9 --- CHANGELOG.md | 4 +- docs/kotlin/testing-actions.mdx | 6 +- docs/kotlin/testing-assertions.mdx | 4 +- docs/kotlin/testing-getting-started.mdx | 6 +- docs/testing/event-handler-testing.mdx | 6 +- docs/testing/prop-matching.mdx | 12 +- docs/testing/subcomponent-testing.mdx | 16 +- docs/testing/testing-treeprops.mdx | 8 +- docs/testing/unit-testing.mdx | 10 +- .../facebook/litho/annotations/TestSpec.java | 2 +- .../facebook/litho/ComposeComponentTest.kt | 4 +- .../kotlin/com/facebook/litho/KEffectsTest.kt | 4 +- .../com/facebook/litho/StyleCompatTest.kt | 8 +- .../examples/LithoTestRuleExampleTest.kt | 2 +- .../examples/LithoTestRuleListExampleTest.kt | 2 +- .../flexbox/FlexboxStyleCompatibilityTest.kt | 4 +- .../litho/flexbox/FlexboxStylesTest.kt | 6 +- .../com/facebook/litho/testing/ViewTesting.kt | 4 +- .../com/facebook/litho/view/ViewStylesTest.kt | 26 +- .../facebook/litho/ComponentTreeScopeTest.kt | 4 +- .../facebook/litho/UseCoroutineScopeTest.kt | 4 +- .../com/facebook/litho/UseCoroutineTest.kt | 4 +- .../kotlin/com/facebook/litho/UseFlowTest.kt | 4 +- .../com/facebook/litho/UseProducerTest.kt | 4 +- .../litho/editor/flipper/PropDataTest.kt | 4 +- .../litho/triggers/EventTriggerTest.java | 12 +- .../com/facebook/litho/ApplyStylesTest.kt | 94 +++---- .../facebook/litho/AttachDetachHandlerTest.kt | 82 +++--- .../com/facebook/litho/AttachDetachTest.kt | 12 +- .../com/facebook/litho/CachedLayoutTest.kt | 4 +- .../com/facebook/litho/CommonPropsTest.kt | 16 +- .../litho/ComponentErrorBoundaryTest.kt | 4 +- .../com/facebook/litho/ComponentHostTest.kt | 14 +- .../com/facebook/litho/ComponentStyleTest.kt | 26 +- .../litho/ComponentsConfigurationTest.kt | 10 +- .../litho/DynamicPropsExtensionTest.kt | 4 +- .../com/facebook/litho/DynamicPropsTest.kt | 70 ++--- .../facebook/litho/IncrementalMountTest.kt | 4 +- .../com/facebook/litho/InterStagePropsTest.kt | 4 +- .../litho/KotlinSpecPropDefaultsTest.kt | 4 +- .../com/facebook/litho/LayoutCachingTest.kt | 102 +++---- .../com/facebook/litho/LayoutDiffingTest.kt | 76 +++--- .../litho/LayoutSpecLifecycleStatelessTest.kt | 52 ++-- .../facebook/litho/LayoutSpecLifecycleTest.kt | 52 ++-- .../facebook/litho/LayoutSpecTriggerTest.kt | 36 +-- .../litho/LayoutStateAddChildWithInputTest.kt | 6 +- .../litho/LayoutStateCalculateTest.kt | 4 +- .../litho/LayoutWithSizeSpecLifecycleTest.kt | 24 +- .../LithoMetadataExceptionWrapperTest.kt | 36 +-- .../litho/LithoNodeResolvedPaddingTest.kt | 8 +- .../java/com/facebook/litho/LithoNodeTest.kt | 10 +- .../java/com/facebook/litho/LithoStatsTest.kt | 8 +- .../com/facebook/litho/LithoTestRuleTest.kt | 6 +- .../LithoVisibilityEventsControllerTest.kt | 38 +-- .../facebook/litho/MountSpecLifecycleTest.kt | 4 +- .../facebook/litho/MountSpecTriggerTest.kt | 36 +-- .../litho/MountStateIncrementalMountTest.kt | 150 +++++------ ...tateIncrementalMountWithTransitionsTest.kt | 34 +-- .../com/facebook/litho/MountStateMountTest.kt | 12 +- .../litho/MountStateRemountInPlaceTest.kt | 4 +- .../facebook/litho/MountStateRemountTest.kt | 24 +- .../java/com/facebook/litho/MountStateTest.kt | 58 ++-- .../facebook/litho/MountStateViewClickTest.kt | 4 +- .../com/facebook/litho/MountStateViewTest.kt | 48 ++-- ...onentStateUpdatesWithReconciliationTest.kt | 4 +- .../litho/NestedTreeResolutionTest.kt | 248 +++++++++--------- .../NestedTreeResolutionWithStateTest.kt | 46 ++-- .../facebook/litho/ResolveAttributeTest.kt | 42 +-- .../java/com/facebook/litho/ResolveResTest.kt | 30 +-- .../com/facebook/litho/SplitFuturesTest.kt | 98 +++---- .../com/facebook/litho/StateUpdatesTest.kt | 22 +- .../StateUpdatesWithReconciliationTest.kt | 4 +- .../litho/TouchExpansionDelegateTest.kt | 44 ++-- .../com/facebook/litho/TreeDiffingTest.kt | 124 ++++----- .../litho/ViewAttributeExtensionTest.kt | 4 +- ...bilityEventsWithVisibilityExtensionTest.kt | 4 +- .../java/com/facebook/litho/WillRenderTest.kt | 28 +- .../java/com/facebook/litho/WrapperTest.kt | 8 +- .../sections/processor/TreePropTest.java | 18 +- .../RecyclerCollectionComponentSpecTest.java | 36 +-- .../SubComponentDeepExtractorTest.java | 10 +- .../subcomponents/CommonPropMatcherTest.java | 6 +- .../GenericMatcherGenerationTest.java | 6 +- .../litho/widget/EditTextSpecTest.java | 6 +- .../litho/widget/TextInputSpecTest.java | 134 +++++----- .../facebook/litho/widget/TextSpecTest.java | 6 +- .../litho/testing/LegacyLithoViewRule.kt | 52 ++-- .../facebook/litho/testing/LithoTestRule.kt | 4 +- .../facebook/litho/testing/TestLithoView.kt | 4 +- .../testing/helper/ComponentTestHelper.java | 2 +- .../LearningStateComponentSpecTest.java | 8 +- .../samples/litho/DemoListComponentTest.java | 16 +- .../lithography/DecadeSeparatorSpecTest.java | 14 +- .../lithography/FeedItemCardSpecTest.java | 16 +- ...FeedItemComponentSpecSubComponentTest.java | 16 +- .../FeedItemComponentSpecTest.java | 12 +- .../lithography/FooterComponentSpecTest.java | 6 +- .../kotlin/primitives/widgets/CardClipTest.kt | 4 +- .../primitives/widgets/CardShadowTest.kt | 4 +- .../widgets/HorizontalScrollTest.kt | 4 +- .../kotlin/primitives/widgets/ImageTest.kt | 4 +- .../kotlin/primitives/widgets/ProgressTest.kt | 4 +- .../TransparencyEnabledCardClipTest.kt | 4 +- .../primitives/widgets/VerticalScrollTest.kt | 4 +- 104 files changed, 1227 insertions(+), 1229 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index af347e7f57b..c9527445df7 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -107,7 +107,7 @@ For more details, see the [full diff](https://github.com/facebook/litho/compare/ _2022-10-27_ * New APIs for debugging. - * **Breaking**: `ComponentContext.withComponentScope` is now package-private: it was @VisibleForTesting before, but we are now enforcing the privacy. If you were using it in tests, you can replace it with `ComponentTestHelper.createScopedComponentContextWithStateForTest` (however you should really write tests against LithoViewRule for kt tests and LegacyLithoViewRule for java tests) + * **Breaking**: `ComponentContext.withComponentScope` is now package-private: it was @VisibleForTesting before, but we are now enforcing the privacy. If you were using it in tests, you can replace it with `ComponentTestHelper.createScopedComponentContextWithStateForTest` (however you should really write tests against LithoTestRule for kt tests and LegacyLithoTestRule for java tests) For more details, see the [full diff](https://github.com/facebook/litho/compare/v0.43.0...v0.44.0). @@ -272,7 +272,7 @@ _2020-05-01_ * New: Update accessibility utils to support newer version of Talkback. * New: Replace Litho's `MountItem` with RenderCore's and wrap `LayoutOutput` with `RenderTreeNode`. * New: Litho tests are now migrated to Robolectric 4 and Mockito 2! -* New: New testing utilities: `LithoViewRule`, `LithoStatsRule`, `BackgroundLayoutLooperRule`. +* New: New testing utilities: `LithoTestRule`, `LithoStatsRule`, `BackgroundLayoutLooperRule`. * Fix: Remove 1px white margin between content and shadow for `CardSpec` [00f2bdb](https://github.com/facebook/litho/commit/00f2bdb852a7e0ded29494b909f0c65d1c7c7dc8). * Fix: Fix Sections not updating layout for sticky items with indices outside range ratio. * Fix: Fix `RecyclerSpec` not respecting RTL for padding. diff --git a/docs/kotlin/testing-actions.mdx b/docs/kotlin/testing-actions.mdx index e4b858bae9e..7dc1b8a9761 100644 --- a/docs/kotlin/testing-actions.mdx +++ b/docs/kotlin/testing-actions.mdx @@ -48,7 +48,7 @@ For example, it may be needed if a component defines a visibility event that tri ```kotlin file=litho-core/src/test/kotlin/com/facebook/litho/examples/LithoTestRuleExampleTest.kt start=idle_component_start end=idle_component_end ``` -## Interactions with LithoViewRule +## Interactions with LithoTestRule ### How to test a click action @@ -72,7 +72,7 @@ The test case performs three steps: 1. Confirm that the `Component` is not being rendered if there is no click on the `Row`. * In order to do this, find the `Component` based on the Text or its Class by using either: `findViewWithTextOrNull(String)` or `findComponent(Class)` and assert that it's null. -2. Perform an action on the `LithoView` with the help of `LithoViewRule.act{}`. +2. Perform an action on the `LithoView` with the help of `LithoTestRule.act{}`. * Clicking on the content description of the row triggers the state update. 3. Confirm that the `Component` is being rendered and is not null. * Any of the available methods can be used to find the `Component`. @@ -84,7 +84,7 @@ This test case is satisfied with the assertions shown in the following snippet: ### How to test `VisiblityEvent` -In order to test `VisiblityEvent` instead of using `LithoViewRule.render(Component)`, separate the methods that are being called under the render call. +In order to test `VisiblityEvent` instead of using `LithoTestRule.render(Component)`, separate the methods that are being called under the render call. This enables the state of the component to be checked before and after the visibility event is triggered: diff --git a/docs/kotlin/testing-assertions.mdx b/docs/kotlin/testing-assertions.mdx index b3b520b7772..691098aaee0 100644 --- a/docs/kotlin/testing-assertions.mdx +++ b/docs/kotlin/testing-assertions.mdx @@ -9,7 +9,7 @@ import VersionedCodeBlock from '@theme/VersionedCodeBlock'; It's possible to use `AssertJ-style` APIs to assert what gets rendered by a `Component` or `LithoView`. All of the `Component` and `LithoView` assertions are exposed in `LithoAssertions.assertThat()` methods. -If you need to get a handle of a component that is inside the ComponentTree of the one you rendered using `LithoViewRule`, you can use the `findComponent()` method. +If you need to get a handle of a component that is inside the ComponentTree of the one you rendered using `LithoTestRule`, you can use the `findComponent()` method. :::note All of the following examples use the `TestComponent` that has one direct child, `InnerComponent`, and one non-direct child, `Text`. @@ -69,7 +69,7 @@ It's possible to check if your component requires Props, as shown in the followi ## Assertions against the view hierarchy -`LithoViewRule.render(Component)` returns a `LithoView`, which can be used for assertions that can be found in the [LithoViewAssert](pathname:///javadoc/com/facebook/litho/testing/assertj/LithoViewAssert.html) class. +`LithoTestRule.render(Component)` returns a `LithoView`, which can be used for assertions that can be found in the [LithoViewAssert](pathname:///javadoc/com/facebook/litho/testing/assertj/LithoViewAssert.html) class. With this assertion, you can, for example, check if a given text or drawable is visible or if the view contains a given test key, as shown in the following snippet: diff --git a/docs/kotlin/testing-getting-started.mdx b/docs/kotlin/testing-getting-started.mdx index df9332f4122..5a98eb7d556 100644 --- a/docs/kotlin/testing-getting-started.mdx +++ b/docs/kotlin/testing-getting-started.mdx @@ -7,13 +7,13 @@ import Tabs from '@theme/Tabs'; import TabItem from '@theme/TabItem'; import VersionedCodeBlock from '@theme/VersionedCodeBlock'; -The **Litho Testing API** is presented through the `LithoViewRule` class, it enables the following: +The **Litho Testing API** is presented through the `LithoTestRule` class, it enables the following: - Make assertions against the Component hierarchy. - Mark assertions against the View hierarchy. - Provides access to utility functions to interact with the View hierarchy (such as by clicking). -`LithoViewRule` uses the Junit 'TestRule', which provides a flexible mechanism to execute code before and after a test method. As a result, Litho is able to prepare the environment then clean it up after testing has taken place, so there's no need to be concerned about it. +`LithoTestRule` uses the Junit 'TestRule', which provides a flexible mechanism to execute code before and after a test method. As a result, Litho is able to prepare the environment then clean it up after testing has taken place, so there's no need to be concerned about it. For more information about the TestRules, refer to the official [JUnit documentation](https://junit.org/junit4/javadoc/4.12/org/junit/rules/TestRule.html). @@ -34,7 +34,7 @@ In order to use the @Rule inside of a test class, it needs to be initialised: ```kotlin file=litho-core/src/test/kotlin/com/facebook/litho/examples/LithoTestRuleExampleTest.kt start=start_example end=end_example ``` -Then, within a test, render the component with the help of the `LithoViewRule.render(Component)` method and perform assertions or other actions on the `LithoView` returned by the `render` call: +Then, within a test, render the component with the help of the `LithoTestRule.render(Component)` method and perform assertions or other actions on the `LithoView` returned by the `render` call: ```kotlin file=litho-core/src/test/kotlin/com/facebook/litho/examples/LithoTestRuleExampleTest.kt start=start_render_example end=end_render_example ``` diff --git a/docs/testing/event-handler-testing.mdx b/docs/testing/event-handler-testing.mdx index defefc5429e..5d8bb724a56 100644 --- a/docs/testing/event-handler-testing.mdx +++ b/docs/testing/event-handler-testing.mdx @@ -90,11 +90,11 @@ the TestSpec matchers we have learned about before. ```java @RunWith(LithoTestRunner.class) public class LearningStateComponentSpecTest { - @Rule public LithoViewRule mLithoViewRule = new LithoViewRule(); + @Rule public LithoTestRule mLithoTestRule = new LithoTestRule(); @Test public void testComponentOnClick() { - final ComponentContext c = mLithoViewRule.getContext(); + final ComponentContext c = mLithoTestRule.getContext(); final Component component = LearningStateComponent.create( c) .canClick(true) @@ -110,7 +110,7 @@ public class LearningStateComponentSpecTest { @Test public void testNoComponentOnClick() { - final ComponentContext c = mLithoViewRule.getContext(); + final ComponentContext c = mLithoTestRule.getContext(); final Component component = LearningStateComponent.create( c) .canClick(false) diff --git a/docs/testing/prop-matching.mdx b/docs/testing/prop-matching.mdx index 69f4c316a75..e666f83b0ac 100644 --- a/docs/testing/prop-matching.mdx +++ b/docs/testing/prop-matching.mdx @@ -59,7 +59,7 @@ The `FeedItemComponent` contains the logic for populating our complex props whic ```java @Test public void testComplexSubComponent() { - final ComponentContext c = mLithoViewRule.getContext(); + final ComponentContext c = mLithoTestRule.getContext(); final Component component = makeComponent("Two Brothers"); assertThat(c, component) @@ -86,7 +86,7 @@ If it's not possible to provide these props in your tests, or if you we don't wa ```java @Test public void testComplexSpecIsPresent() { - final ComponentContext c = mLithoViewRule.getContext(); + final ComponentContext c = mLithoTestRule.getContext(); final Component component = makeComponent("Rixty Minutes"); assertThat(c, component) @@ -129,7 +129,7 @@ It does take the same props as the underlying component but enable you to omit n ```java @Test public void testComplexTestSpecProps() { - final ComponentContext c = mLithoViewRule.getContext(); + final ComponentContext c = mLithoTestRule.getContext(); final Component component = makeComponent("Two Brothers"); assertThat(c, component) @@ -171,7 +171,7 @@ Instead of just matching against partial props, you can also provide 'hamcrest' ``` @Test public void testComplexTestSpecAdvancedProps() { - final ComponentContext c = mLithoViewRule.getContext(); + final ComponentContext c = mLithoTestRule.getContext(); final Component component = makeComponent("Rixty Minutes"); @@ -201,7 +201,7 @@ Continuing with the given example, suppose that the `FeedItemComponent` wraps th ```java @Test public void testComplexTestSpecProps() { - final ComponentContext c = mLithoViewRule.getContext(); + final ComponentContext c = mLithoTestRule.getContext(); final Component component = makeComponent("Ricksy Business"); assertThat(c, component) @@ -312,7 +312,7 @@ public interface TestMyLayoutSpec {} ```java @Test public void testComplexTestSpecAdvancedProps() { - final ComponentContext c = mLithoViewRule.getContext(); + final ComponentContext c = mLithoTestRule.getContext(); final Component component = ...; assertThat(c, component) diff --git a/docs/testing/subcomponent-testing.mdx b/docs/testing/subcomponent-testing.mdx index 2f9d4d0f2b7..048fa06df18 100644 --- a/docs/testing/subcomponent-testing.mdx +++ b/docs/testing/subcomponent-testing.mdx @@ -36,7 +36,7 @@ Whenever possible, test your business logic in isolation. ### Setup * Add `@RunWith(LithoTestRunner.class)` to the top of the test class. -* Add a JUnit [`@Rule`](https://github.com/junit-team/junit4/wiki/Rules) `LithoViewRule`. +* Add a JUnit [`@Rule`](https://github.com/junit-team/junit4/wiki/Rules) `LithoTestRule`. * Add a check to ensure that tests are run in debug mode. `ComponentsConfiguration.IS_INTERNAL_BUILD` must be true. @@ -49,7 +49,7 @@ The test class should look like the following: @RunWith(RobolectricTestRunner.class) public class TruncatingComponentTest { - public final @Rule LithoViewRule mLithoViewRule = new LithoViewRule(); + public final @Rule LithoTestRule mLithoTestRule = new LithoTestRule(); @Before public void assumeInDebugMode() { @@ -67,7 +67,7 @@ public class TruncatingComponentTest { ```java @Test public void whenTextLengthIsLessThan16_shouldContainTextComponentWithFullText() { - final ComponentContext c = mLithoViewRule.getContext(); + final ComponentContext c = mLithoTestRule.getContext(); final TruncatingComponent component = TruncatingComponent.create(c) .text("Mr. Meeseeks").build(); @@ -125,7 +125,7 @@ public class TruncatingComponentSpec { ```java @Test public void whenTextLengthIsLessThan16_shouldContainTextComponentWithFullText() { - final ComponentContext c = mLithoViewRule.getContext(); + final ComponentContext c = mLithoTestRule.getContext(); final TruncatingComponent component = TruncatingComponent.create(c).text("Mr. Meeseeks").build(); LegacyLithoAssertions.assertThat(c, component) @@ -154,7 +154,7 @@ This test can be fixed by using a different Condition API called `deepSubCompone ```java @Test public void whenTextLengthIsLessThan16_shouldContainTextComponentWithFullText() { - final ComponentContext c = mLithoViewRule.getContext(); + final ComponentContext c = mLithoTestRule.getContext(); final TruncatingComponent component = TruncatingComponent.create(c).text("Mr. Meeseeks").build(); LegacyLithoAssertions.assertThat(c, component) @@ -193,7 +193,7 @@ public static Condition hasBackground() { ```java @Test public void whenTruncatingComponentIsRendered_shouldHaveBackground() { - final ComponentContext c = mLithoViewRule.getContext(); + final ComponentContext c = mLithoTestRule.getContext(); final TruncatingComponent component = TruncatingComponent.create(c).text("Mr. Meeseeks").build(); LegacyLithoAssertions.assertThat(c, component) @@ -216,7 +216,7 @@ public class StoryComponentTest { @Test public void whenStoryComponentIsRendered_shouldContainAllSubcomponents() { - final ComponentContext c = mLithoViewRule.getContext(); + final ComponentContext c = mLithoTestRule.getContext(); final StoryComponent.Builder builder = StoryComponent.create(c).build(); assertThat(builder).hasSubComponents( @@ -238,7 +238,7 @@ Litho provides a bridge interface [legacySubComponent](pathname:///javadoc/com/f ```java @Test public void testSubComponentLegacyBridge() { - final ComponentContext c = mLithoViewRule.getContext(); + final ComponentContext c = mLithoTestRule.getContext(); assertThat(c, mComponent) .has( diff --git a/docs/testing/testing-treeprops.mdx b/docs/testing/testing-treeprops.mdx index 8b0adb05873..63ed6f05640 100644 --- a/docs/testing/testing-treeprops.mdx +++ b/docs/testing/testing-treeprops.mdx @@ -26,20 +26,20 @@ class ComponentWithTreePropSpec { } ``` -To test a component that uses `@TreeProp`s, you can use `LithoViewRule#setTreeProp(Class, Object)`. This will set `@TreeProp`s on the hierachy, making them available to the components: +To test a component that uses `@TreeProp`s, you can use `LithoTestRule#setTreeProp(Class, Object)`. This will set `@TreeProp`s on the hierachy, making them available to the components: ```java @RunWith(LithoTestRunner.class) public class ComponentWithTreePropTest { - public final @Rule LithoViewRule mLithoViewRule = new LithoViewRule(); + public final @Rule LithoTestRule mLithoTestRule = new LithoTestRule(); @Test public void test() { - final ComponentContext c = mLithoViewRule.getContext(); + final ComponentContext c = mLithoTestRule.getContext(); final Component component = ComponentWithTreeProp.create(c).build(); - mLithoViewRule + mLithoTestRule .attachToWindow() .setTreeProp(UserContext.class, new UserContext()) // setting tree props for the hierarchy. .setRoot(component) diff --git a/docs/testing/unit-testing.mdx b/docs/testing/unit-testing.mdx index 9b49312505d..710f16d37e2 100644 --- a/docs/testing/unit-testing.mdx +++ b/docs/testing/unit-testing.mdx @@ -70,7 +70,7 @@ To verify the rendering of the text and the icon. * Create a new test class; `LikersComponentTest`. * Add `@RunWith(RobolectricTestRunner.class)` to the top of the test class. -* Add a `LithoViewRule` JUnit [`@Rule`](https://github.com/junit-team/junit4/wiki/Rules) that sets up overrides for [Styleables](https://developer.android.com/reference/android/R.styleable.html) +* Add a `LithoTestRule` JUnit [`@Rule`](https://github.com/junit-team/junit4/wiki/Rules) that sets up overrides for [Styleables](https://developer.android.com/reference/android/R.styleable.html) and exposes some useful APIs. The test class should look like the following: @@ -79,7 +79,7 @@ The test class should look like the following: @RunWith(RobolectricTestRunner.class) public class LikersComponentTest { - public final @Rule LithoViewRule mLithoViewRule = new LithoViewRule(); + public final @Rule LithoTestRule mLithoTestRule = new LithoTestRule(); } ``` @@ -92,10 +92,10 @@ public class LikersComponentTest { @RunWith(RobolectricTestRunner.class) public class LikersComponentTest { - public final @Rule LithoViewRule mLithoViewRule = new LithoViewRule(); + public final @Rule LithoTestRule mLithoTestRule = new LithoTestRule(); @Test public void whenTwoUsersLike_shouldShowBothUserNames() { - final ComponentContext c = mLithoViewRule.getContext(); + final ComponentContext c = mLithoTestRule.getContext(); final ImmutableList likers = ImmutableList.of( new User("Jane"), new User("Mike") ); @@ -108,7 +108,7 @@ public class LikersComponentTest { @Test public void whenUsersLike_shouldShowLikeIcon() { - final ComponentContext c = mLithoViewRule.getContext(); + final ComponentContext c = mLithoTestRule.getContext(); final ImmutableList likers = ImmutableList.of( new User("Jane"), new User("Mike") ); diff --git a/litho-annotations/src/main/java/com/facebook/litho/annotations/TestSpec.java b/litho-annotations/src/main/java/com/facebook/litho/annotations/TestSpec.java index d4ac0087a0a..81436a15dbf 100644 --- a/litho-annotations/src/main/java/com/facebook/litho/annotations/TestSpec.java +++ b/litho-annotations/src/main/java/com/facebook/litho/annotations/TestSpec.java @@ -36,7 +36,7 @@ *
  * {@literal @}Test
  *  public void testMyLayoutSpec() {
- *    final ComponentContext c = mLithoViewRule.getContext();
+ *    final ComponentContext c = mLithoTestRule.getContext();
  *    assertThat(c, mComponent)
  *        .has(subComponentWith(c,
  *            TestMyLayoutSpec.matcher(c)
diff --git a/litho-compose/src/test/kotlin/com/facebook/litho/ComposeComponentTest.kt b/litho-compose/src/test/kotlin/com/facebook/litho/ComposeComponentTest.kt
index 6343ecbee88..40b038e24cb 100644
--- a/litho-compose/src/test/kotlin/com/facebook/litho/ComposeComponentTest.kt
+++ b/litho-compose/src/test/kotlin/com/facebook/litho/ComposeComponentTest.kt
@@ -26,7 +26,7 @@ import androidx.compose.runtime.RememberObserver
 import androidx.compose.runtime.SideEffect
 import androidx.compose.runtime.remember
 import androidx.compose.ui.platform.ComposeView
-import com.facebook.litho.testing.LithoViewRule
+import com.facebook.litho.testing.LithoTestRule
 import com.facebook.litho.testing.testrunner.LithoTestRunner
 import org.assertj.core.api.Assertions.assertThat
 import org.junit.Before
@@ -40,7 +40,7 @@ import org.robolectric.annotation.LooperMode
 @RunWith(LithoTestRunner::class)
 class ComposeComponentTest {
 
-  @Rule @JvmField val lithoViewRule = LithoViewRule()
+  @Rule @JvmField val lithoViewRule = LithoTestRule()
 
   lateinit var lithoView: LithoView
 
diff --git a/litho-core/src/test/kotlin/com/facebook/litho/KEffectsTest.kt b/litho-core/src/test/kotlin/com/facebook/litho/KEffectsTest.kt
index b0e25e56226..eec182ccdd6 100644
--- a/litho-core/src/test/kotlin/com/facebook/litho/KEffectsTest.kt
+++ b/litho-core/src/test/kotlin/com/facebook/litho/KEffectsTest.kt
@@ -19,7 +19,7 @@ package com.facebook.litho
 import android.graphics.Color
 import android.graphics.drawable.ColorDrawable
 import com.facebook.litho.kotlin.widget.Text
-import com.facebook.litho.testing.LegacyLithoViewRule
+import com.facebook.litho.testing.LegacyLithoTestRule
 import com.facebook.litho.testing.exactly
 import com.facebook.litho.testing.setRoot
 import com.facebook.litho.testing.testrunner.LithoTestRunner
@@ -38,7 +38,7 @@ import org.robolectric.annotation.LooperMode
 @RunWith(LithoTestRunner::class)
 class KEffectsTest {
 
-  @Rule @JvmField val lithoViewRule = LegacyLithoViewRule()
+  @Rule @JvmField val lithoViewRule = LegacyLithoTestRule()
 
   @Test
   fun useEffect_createdThenReleased_callbacksAreInvoked() {
diff --git a/litho-core/src/test/kotlin/com/facebook/litho/StyleCompatTest.kt b/litho-core/src/test/kotlin/com/facebook/litho/StyleCompatTest.kt
index 24f657a10ab..46175535c1c 100644
--- a/litho-core/src/test/kotlin/com/facebook/litho/StyleCompatTest.kt
+++ b/litho-core/src/test/kotlin/com/facebook/litho/StyleCompatTest.kt
@@ -17,7 +17,7 @@
 package com.facebook.litho
 
 import android.graphics.Color
-import com.facebook.litho.testing.LegacyLithoViewRule
+import com.facebook.litho.testing.LegacyLithoTestRule
 import com.facebook.litho.testing.assertMatches
 import com.facebook.litho.testing.child
 import com.facebook.litho.testing.match
@@ -36,7 +36,7 @@ import org.junit.runner.RunWith
 @RunWith(LithoTestRunner::class)
 class StyleCompatTest {
 
-  @Rule @JvmField val lithoViewRule = LegacyLithoViewRule()
+  @Rule @JvmField val lithoViewRule = LegacyLithoTestRule()
 
   @Test
   fun widthAndHeight_whenSet_isRespected() {
@@ -405,7 +405,7 @@ class StyleCompatTest {
       }
     }
 
-    val node = LegacyLithoViewRule.getRootLayout(lithoViewRule, ComponentWithBorder())?.node
+    val node = LegacyLithoTestRule.getRootLayout(lithoViewRule, ComponentWithBorder())?.node
     assertThat(node?.borderColors)
         .isEqualTo(intArrayOf(Color.BLUE, Color.RED, Color.BLACK, Color.WHITE))
     assertThat(node?.borderRadius).isEqualTo(floatArrayOf(5f, 6f, 7f, 8f))
@@ -423,7 +423,7 @@ class StyleCompatTest {
       }
     }
 
-    val node = LegacyLithoViewRule.getRootLayout(lithoViewRule, ComponentWithTransition())?.node
+    val node = LegacyLithoTestRule.getRootLayout(lithoViewRule, ComponentWithTransition())?.node
     assertThat(node?.transitionKeyType).isEqualTo(Transition.TransitionKeyType.GLOBAL)
     assertThat(node?.transitionKey).isEqualTo("test")
   }
diff --git a/litho-core/src/test/kotlin/com/facebook/litho/examples/LithoTestRuleExampleTest.kt b/litho-core/src/test/kotlin/com/facebook/litho/examples/LithoTestRuleExampleTest.kt
index 664655d0ccc..1c70db16a0d 100644
--- a/litho-core/src/test/kotlin/com/facebook/litho/examples/LithoTestRuleExampleTest.kt
+++ b/litho-core/src/test/kotlin/com/facebook/litho/examples/LithoTestRuleExampleTest.kt
@@ -56,7 +56,7 @@ import org.mockito.kotlin.mock
 import org.mockito.kotlin.verify
 import org.robolectric.annotation.LooperMode
 
-/** Examples of LithoViewRule usage */
+/** Examples of LithoTestRule usage */
 @LooperMode(LooperMode.Mode.LEGACY)
 @RunWith(LithoTestRunner::class)
 class LithoTestRuleExampleTest {
diff --git a/litho-core/src/test/kotlin/com/facebook/litho/examples/LithoTestRuleListExampleTest.kt b/litho-core/src/test/kotlin/com/facebook/litho/examples/LithoTestRuleListExampleTest.kt
index 77742465bc6..f9644ffaa06 100644
--- a/litho-core/src/test/kotlin/com/facebook/litho/examples/LithoTestRuleListExampleTest.kt
+++ b/litho-core/src/test/kotlin/com/facebook/litho/examples/LithoTestRuleListExampleTest.kt
@@ -34,7 +34,7 @@ import org.junit.Test
 import org.junit.runner.RunWith
 import org.robolectric.annotation.LooperMode
 
-/** Examples of LithoViewRuleList usage */
+/** Examples of LithoTestRuleList usage */
 @LooperMode(LooperMode.Mode.LEGACY)
 @RunWith(LithoTestRunner::class)
 class LithoTestRuleListExampleTest {
diff --git a/litho-core/src/test/kotlin/com/facebook/litho/flexbox/FlexboxStyleCompatibilityTest.kt b/litho-core/src/test/kotlin/com/facebook/litho/flexbox/FlexboxStyleCompatibilityTest.kt
index f49b3f56b6c..070fb7f2388 100644
--- a/litho-core/src/test/kotlin/com/facebook/litho/flexbox/FlexboxStyleCompatibilityTest.kt
+++ b/litho-core/src/test/kotlin/com/facebook/litho/flexbox/FlexboxStyleCompatibilityTest.kt
@@ -24,7 +24,7 @@ import com.facebook.litho.Style
 import com.facebook.litho.core.height
 import com.facebook.litho.core.width
 import com.facebook.litho.kotlinStyle
-import com.facebook.litho.testing.LegacyLithoViewRule
+import com.facebook.litho.testing.LegacyLithoTestRule
 import com.facebook.litho.testing.assertMatches
 import com.facebook.litho.testing.match
 import com.facebook.litho.testing.setRoot
@@ -39,7 +39,7 @@ import org.junit.runner.RunWith
 @RunWith(LithoTestRunner::class)
 class FlexboxStyleCompatibilityTest {
 
-  @Rule @JvmField val lithoViewRule = LegacyLithoViewRule()
+  @Rule @JvmField val lithoViewRule = LegacyLithoTestRule()
 
   @Test
   fun specComponent_whenKotlinStyleSetOnBuilder_commonPropsAreApplied() {
diff --git a/litho-core/src/test/kotlin/com/facebook/litho/flexbox/FlexboxStylesTest.kt b/litho-core/src/test/kotlin/com/facebook/litho/flexbox/FlexboxStylesTest.kt
index 5cb2cee9869..eac1250427c 100644
--- a/litho-core/src/test/kotlin/com/facebook/litho/flexbox/FlexboxStylesTest.kt
+++ b/litho-core/src/test/kotlin/com/facebook/litho/flexbox/FlexboxStylesTest.kt
@@ -39,7 +39,7 @@ import com.facebook.litho.core.padding
 import com.facebook.litho.core.paddingPercent
 import com.facebook.litho.core.width
 import com.facebook.litho.core.widthPercent
-import com.facebook.litho.testing.LegacyLithoViewRule
+import com.facebook.litho.testing.LegacyLithoTestRule
 import com.facebook.litho.testing.assertMatches
 import com.facebook.litho.testing.child
 import com.facebook.litho.testing.exactly
@@ -62,7 +62,7 @@ import org.junit.runner.RunWith
 @RunWith(LithoTestRunner::class)
 class FlexboxStylesTest {
 
-  @Rule @JvmField val lithoViewRule = LegacyLithoViewRule()
+  @Rule @JvmField val lithoViewRule = LegacyLithoTestRule()
 
   @Test
   fun widthAndHeight_whenSet_isRespected() {
@@ -898,7 +898,7 @@ class FlexboxStylesTest {
       }
     }
 
-    val node = LegacyLithoViewRule.getRootLayout(lithoViewRule, ComponentWithBorder())?.node
+    val node = LegacyLithoTestRule.getRootLayout(lithoViewRule, ComponentWithBorder())?.node
     assertThat(node?.borderColors)
         .isEqualTo(intArrayOf(Color.BLUE, Color.RED, Color.BLACK, Color.WHITE))
     assertThat(node?.borderRadius).isEqualTo(floatArrayOf(5f, 6f, 7f, 8f))
diff --git a/litho-core/src/test/kotlin/com/facebook/litho/testing/ViewTesting.kt b/litho-core/src/test/kotlin/com/facebook/litho/testing/ViewTesting.kt
index 31234b7f6ad..b90069d65c6 100644
--- a/litho-core/src/test/kotlin/com/facebook/litho/testing/ViewTesting.kt
+++ b/litho-core/src/test/kotlin/com/facebook/litho/testing/ViewTesting.kt
@@ -23,14 +23,14 @@ import com.facebook.rendercore.testing.ViewAssertions
 import com.facebook.rendercore.testing.match.ViewMatchNode
 
 /** Shorthand helper to create a root component that needs a ComponentScope. */
-fun LegacyLithoViewRule.setRoot(componentFunction: ComponentScope.() -> Component) =
+fun LegacyLithoTestRule.setRoot(componentFunction: ComponentScope.() -> Component) =
     setRoot(with(ComponentScope(context)) { componentFunction() })
 
 /**
  * Measures/lays out/attaches to window if not already done, then matches the hierarchy against the
  * provided [ViewMatchNode].
  */
-fun LegacyLithoViewRule.assertMatches(matchNode: ViewMatchNode) {
+fun LegacyLithoTestRule.assertMatches(matchNode: ViewMatchNode) {
   measure().layout().attachToWindow()
   ViewAssertions.assertThat(lithoView).matches(matchNode)
 }
diff --git a/litho-core/src/test/kotlin/com/facebook/litho/view/ViewStylesTest.kt b/litho-core/src/test/kotlin/com/facebook/litho/view/ViewStylesTest.kt
index 4adc1dd1d6d..45610490284 100644
--- a/litho-core/src/test/kotlin/com/facebook/litho/view/ViewStylesTest.kt
+++ b/litho-core/src/test/kotlin/com/facebook/litho/view/ViewStylesTest.kt
@@ -36,7 +36,7 @@ import com.facebook.litho.core.height
 import com.facebook.litho.core.width
 import com.facebook.litho.key
 import com.facebook.litho.kotlin.widget.TextInput
-import com.facebook.litho.testing.LegacyLithoViewRule
+import com.facebook.litho.testing.LegacyLithoTestRule
 import com.facebook.litho.testing.assertMatches
 import com.facebook.litho.testing.child
 import com.facebook.litho.testing.match
@@ -56,7 +56,7 @@ import org.mockito.kotlin.mock
 @RunWith(LithoTestRunner::class)
 class ViewStylesTest {
 
-  @Rule @JvmField val lithoViewRule = LegacyLithoViewRule()
+  @Rule @JvmField val lithoViewRule = LegacyLithoTestRule()
 
   @Test
   fun background_whenSet_isRespected() {
@@ -136,7 +136,7 @@ class ViewStylesTest {
     }
 
     val node =
-        LegacyLithoViewRule.getRootLayout(lithoViewRule, DuplicateChildrenStatesComponent())?.node
+        LegacyLithoTestRule.getRootLayout(lithoViewRule, DuplicateChildrenStatesComponent())?.node
     assertThat(node?.isDuplicateChildrenStatesEnabled).isTrue
   }
 
@@ -150,7 +150,7 @@ class ViewStylesTest {
     }
 
     val node =
-        LegacyLithoViewRule.getRootLayout(lithoViewRule, DuplicateChildrenStatesComponent())?.node
+        LegacyLithoTestRule.getRootLayout(lithoViewRule, DuplicateChildrenStatesComponent())?.node
     assertThat(node?.isDuplicateChildrenStatesEnabled).isFalse
   }
 
@@ -164,7 +164,7 @@ class ViewStylesTest {
     }
 
     val node =
-        LegacyLithoViewRule.getRootLayout(lithoViewRule, DuplicateParentStateComponent())?.node
+        LegacyLithoTestRule.getRootLayout(lithoViewRule, DuplicateParentStateComponent())?.node
     val childNode = node?.getChildAt(0)
     assertThat(childNode?.isDuplicateParentStateEnabled).isTrue
   }
@@ -179,7 +179,7 @@ class ViewStylesTest {
     }
 
     val node =
-        LegacyLithoViewRule.getRootLayout(lithoViewRule, DuplicateParentStateComponent())?.node
+        LegacyLithoTestRule.getRootLayout(lithoViewRule, DuplicateParentStateComponent())?.node
     val childNode = node?.getChildAt(0)
     assertThat(childNode?.isDuplicateParentStateEnabled).isFalse
   }
@@ -651,7 +651,7 @@ class ViewStylesTest {
       }
     }
 
-    val node = LegacyLithoViewRule.getRootLayout(lithoViewRule, ElevationComponent())?.node
+    val node = LegacyLithoTestRule.getRootLayout(lithoViewRule, ElevationComponent())?.node
     val nodeInfo = node?.nodeInfo
     assertThat(nodeInfo?.shadowElevation).isEqualTo(elevation)
   }
@@ -672,7 +672,7 @@ class ViewStylesTest {
       }
     }
 
-    val node = LegacyLithoViewRule.getRootLayout(lithoViewRule, ShadowComponent())?.node
+    val node = LegacyLithoTestRule.getRootLayout(lithoViewRule, ShadowComponent())?.node
     val nodeInfo = node?.nodeInfo
     assertThat(nodeInfo?.shadowElevation).isEqualTo(16.0f)
     assertThat(nodeInfo?.outlineProvider).isEqualTo(outlineProvider)
@@ -691,7 +691,7 @@ class ViewStylesTest {
       }
     }
 
-    val node = LegacyLithoViewRule.getRootLayout(lithoViewRule, OutlineProviderComponent())?.node
+    val node = LegacyLithoTestRule.getRootLayout(lithoViewRule, OutlineProviderComponent())?.node
     val nodeInfo = node?.nodeInfo
     assertThat(nodeInfo?.outlineProvider).isEqualTo(outlineProvider)
   }
@@ -705,7 +705,7 @@ class ViewStylesTest {
       }
     }
 
-    val node = LegacyLithoViewRule.getRootLayout(lithoViewRule, ComponentThatClips())?.node
+    val node = LegacyLithoTestRule.getRootLayout(lithoViewRule, ComponentThatClips())?.node
     assertThat(node?.nodeInfo?.clipToOutline).isTrue
 
     node?.mutableNodeInfo()?.clipToOutline = false
@@ -721,7 +721,7 @@ class ViewStylesTest {
       }
     }
 
-    val node = LegacyLithoViewRule.getRootLayout(lithoViewRule, ElevationComponent())?.node
+    val node = LegacyLithoTestRule.getRootLayout(lithoViewRule, ElevationComponent())?.node
     val nodeInfo = node?.nodeInfo
     assertThat(nodeInfo?.transitionName).isEqualTo("test")
   }
@@ -735,7 +735,7 @@ class ViewStylesTest {
       }
     }
 
-    val node = LegacyLithoViewRule.getRootLayout(lithoViewRule, TestKeyComponent())?.node
+    val node = LegacyLithoTestRule.getRootLayout(lithoViewRule, TestKeyComponent())?.node
     assertThat(node?.testKey).isEqualTo("test")
   }
 
@@ -756,7 +756,7 @@ class ViewStylesTest {
     }
 
     val node =
-        LegacyLithoViewRule.getRootLayout(lithoViewRule, key("root") { TestComponent() })?.node
+        LegacyLithoTestRule.getRootLayout(lithoViewRule, key("root") { TestComponent() })?.node
     assertThat(node?.transitionKey).isEqualTo("test")
     assertThat(node?.transitionOwnerKey).isEqualTo("\$root")
   }
diff --git a/litho-coroutines-kotlin/src/test/kotlin/com/facebook/litho/ComponentTreeScopeTest.kt b/litho-coroutines-kotlin/src/test/kotlin/com/facebook/litho/ComponentTreeScopeTest.kt
index 6c89a080720..3710433c962 100644
--- a/litho-coroutines-kotlin/src/test/kotlin/com/facebook/litho/ComponentTreeScopeTest.kt
+++ b/litho-coroutines-kotlin/src/test/kotlin/com/facebook/litho/ComponentTreeScopeTest.kt
@@ -17,7 +17,7 @@
 package com.facebook.litho
 
 import android.app.Activity
-import com.facebook.litho.testing.LithoViewRule
+import com.facebook.litho.testing.LithoTestRule
 import com.facebook.litho.testing.testrunner.LithoTestRunner
 import kotlinx.coroutines.Dispatchers
 import kotlinx.coroutines.ExperimentalCoroutinesApi
@@ -39,7 +39,7 @@ import org.robolectric.Robolectric
 @RunWith(LithoTestRunner::class)
 class ComponentTreeScopeTest {
 
-  @Rule @JvmField val lithoViewRule = LithoViewRule()
+  @Rule @JvmField val lithoViewRule = LithoTestRule()
 
   private val testDispatcher = StandardTestDispatcher()
   private val context = Robolectric.buildActivity(Activity::class.java).create().get()
diff --git a/litho-coroutines-kotlin/src/test/kotlin/com/facebook/litho/UseCoroutineScopeTest.kt b/litho-coroutines-kotlin/src/test/kotlin/com/facebook/litho/UseCoroutineScopeTest.kt
index b661c05139d..bffc2ab4aca 100644
--- a/litho-coroutines-kotlin/src/test/kotlin/com/facebook/litho/UseCoroutineScopeTest.kt
+++ b/litho-coroutines-kotlin/src/test/kotlin/com/facebook/litho/UseCoroutineScopeTest.kt
@@ -16,7 +16,7 @@
 
 package com.facebook.litho
 
-import com.facebook.litho.testing.LithoViewRule
+import com.facebook.litho.testing.LithoTestRule
 import com.facebook.litho.testing.testrunner.LithoTestRunner
 import java.lang.Exception
 import kotlinx.coroutines.CoroutineExceptionHandler
@@ -40,7 +40,7 @@ import org.junit.runner.RunWith
 @RunWith(LithoTestRunner::class)
 class UseCoroutineScopeTest {
 
-  @Rule @JvmField val lithoViewRule = LithoViewRule()
+  @Rule @JvmField val lithoViewRule = LithoTestRule()
 
   private val testDispatcher = StandardTestDispatcher()
 
diff --git a/litho-coroutines-kotlin/src/test/kotlin/com/facebook/litho/UseCoroutineTest.kt b/litho-coroutines-kotlin/src/test/kotlin/com/facebook/litho/UseCoroutineTest.kt
index 2164c04225d..8e58e67e981 100644
--- a/litho-coroutines-kotlin/src/test/kotlin/com/facebook/litho/UseCoroutineTest.kt
+++ b/litho-coroutines-kotlin/src/test/kotlin/com/facebook/litho/UseCoroutineTest.kt
@@ -16,7 +16,7 @@
 
 package com.facebook.litho
 
-import com.facebook.litho.testing.LithoViewRule
+import com.facebook.litho.testing.LithoTestRule
 import com.facebook.litho.testing.testrunner.LithoTestRunner
 import kotlinx.coroutines.Dispatchers
 import kotlinx.coroutines.ExperimentalCoroutinesApi
@@ -35,7 +35,7 @@ import org.junit.runner.RunWith
 @RunWith(LithoTestRunner::class)
 class UseCoroutineTest {
 
-  @Rule @JvmField val lithoViewRule = LithoViewRule()
+  @Rule @JvmField val lithoViewRule = LithoTestRule()
 
   private val testDispatcher = StandardTestDispatcher()
 
diff --git a/litho-coroutines-kotlin/src/test/kotlin/com/facebook/litho/UseFlowTest.kt b/litho-coroutines-kotlin/src/test/kotlin/com/facebook/litho/UseFlowTest.kt
index 66543f64bd3..b4f9917433c 100644
--- a/litho-coroutines-kotlin/src/test/kotlin/com/facebook/litho/UseFlowTest.kt
+++ b/litho-coroutines-kotlin/src/test/kotlin/com/facebook/litho/UseFlowTest.kt
@@ -16,7 +16,7 @@
 
 package com.facebook.litho
 
-import com.facebook.litho.testing.LithoViewRule
+import com.facebook.litho.testing.LithoTestRule
 import com.facebook.litho.testing.testrunner.LithoTestRunner
 import com.facebook.litho.testing.unspecified
 import java.util.concurrent.CountDownLatch
@@ -43,7 +43,7 @@ import org.robolectric.annotation.LooperMode
 @RunWith(LithoTestRunner::class)
 class UseFlowTest {
 
-  @Rule @JvmField val lithoViewRule = LithoViewRule()
+  @Rule @JvmField val lithoViewRule = LithoTestRule()
 
   private val testDispatcher = StandardTestDispatcher()
 
diff --git a/litho-coroutines-kotlin/src/test/kotlin/com/facebook/litho/UseProducerTest.kt b/litho-coroutines-kotlin/src/test/kotlin/com/facebook/litho/UseProducerTest.kt
index f7fe02d7a48..142adbdb581 100644
--- a/litho-coroutines-kotlin/src/test/kotlin/com/facebook/litho/UseProducerTest.kt
+++ b/litho-coroutines-kotlin/src/test/kotlin/com/facebook/litho/UseProducerTest.kt
@@ -16,7 +16,7 @@
 
 package com.facebook.litho
 
-import com.facebook.litho.testing.LithoViewRule
+import com.facebook.litho.testing.LithoTestRule
 import com.facebook.litho.testing.testrunner.LithoTestRunner
 import java.util.concurrent.atomic.AtomicInteger
 import java.util.concurrent.atomic.AtomicReference
@@ -42,7 +42,7 @@ import org.robolectric.annotation.LooperMode
 @RunWith(LithoTestRunner::class)
 class UseProducerTest {
 
-  @Rule @JvmField val lithoViewRule = LithoViewRule()
+  @Rule @JvmField val lithoViewRule = LithoTestRule()
 
   private val testDispatcher = StandardTestDispatcher()
 
diff --git a/litho-editor-flipper/src/test/kotlin/com/facebook/litho/editor/flipper/PropDataTest.kt b/litho-editor-flipper/src/test/kotlin/com/facebook/litho/editor/flipper/PropDataTest.kt
index c9d632d2841..71b64ed3188 100644
--- a/litho-editor-flipper/src/test/kotlin/com/facebook/litho/editor/flipper/PropDataTest.kt
+++ b/litho-editor-flipper/src/test/kotlin/com/facebook/litho/editor/flipper/PropDataTest.kt
@@ -24,7 +24,7 @@ import com.facebook.kotlin.compilerplugins.dataclassgenerate.annotation.Mode
 import com.facebook.litho.Component
 import com.facebook.litho.ComponentScope
 import com.facebook.litho.KComponent
-import com.facebook.litho.testing.LithoViewRule
+import com.facebook.litho.testing.LithoTestRule
 import java.util.AbstractMap
 import org.assertj.core.api.Assertions.assertThat
 import org.junit.Rule
@@ -34,7 +34,7 @@ import org.junit.runner.RunWith
 @RunWith(AndroidJUnit4::class)
 class PropDataTest {
 
-  @Rule @JvmField val lithoViewRule = LithoViewRule()
+  @Rule @JvmField val lithoViewRule = LithoTestRule()
 
   @Test
   fun `test KComponent with no props does not create a Props section`() {
diff --git a/litho-it-spec/src/test/java/com/facebook/litho/triggers/EventTriggerTest.java b/litho-it-spec/src/test/java/com/facebook/litho/triggers/EventTriggerTest.java
index a43e028cbd7..38ae302ccc5 100644
--- a/litho-it-spec/src/test/java/com/facebook/litho/triggers/EventTriggerTest.java
+++ b/litho-it-spec/src/test/java/com/facebook/litho/triggers/EventTriggerTest.java
@@ -21,7 +21,7 @@
 import com.facebook.litho.ComponentContext;
 import com.facebook.litho.ComponentTree;
 import com.facebook.litho.Handle;
-import com.facebook.litho.testing.LithoViewRule;
+import com.facebook.litho.testing.LithoTestRule;
 import com.facebook.litho.testing.TestLithoView;
 import com.facebook.litho.testing.testrunner.LithoTestRunner;
 import org.junit.Rule;
@@ -31,16 +31,16 @@
 @RunWith(LithoTestRunner.class)
 public class EventTriggerTest {
 
-  public final @Rule LithoViewRule mLithoViewRule = new LithoViewRule();
+  public final @Rule LithoTestRule mLithoTestRule = new LithoTestRule();
 
   @Test
   public void testCanTriggerEvent() {
-    final ComponentContext mComponentContext = mLithoViewRule.getContext();
+    final ComponentContext mComponentContext = mLithoTestRule.getContext();
     final Handle handle = new Handle();
     final ComponentWithTrigger component =
         ComponentWithTrigger.create(mComponentContext).handle(handle).uniqueString("A").build();
 
-    TestLithoView lithoTestView = mLithoViewRule.render(componentScope -> component);
+    TestLithoView lithoTestView = mLithoTestRule.render(componentScope -> component);
     final ComponentTree tree = lithoTestView.getComponentTree();
 
     assertThat(ComponentWithTrigger.testTriggerMethod(tree.getContext(), handle)).isEqualTo("A");
@@ -48,7 +48,7 @@ public void testCanTriggerEvent() {
 
   @Test
   public void testCanTriggerEventOnNestedComponent() {
-    final ComponentContext mComponentContext = mLithoViewRule.getContext();
+    final ComponentContext mComponentContext = mLithoTestRule.getContext();
     final Handle handle = new Handle();
     final ComponentContainer component =
         ComponentContainer.create(mComponentContext)
@@ -56,7 +56,7 @@ public void testCanTriggerEventOnNestedComponent() {
             .uniqueString("A")
             .build();
 
-    TestLithoView lithoTestView = mLithoViewRule.render(componentScope -> component);
+    TestLithoView lithoTestView = mLithoTestRule.render(componentScope -> component);
     final ComponentTree tree = lithoTestView.getComponentTree();
 
     assertThat(ComponentWithTrigger.testTriggerMethod(tree.getContext(), handle)).isEqualTo("A");
diff --git a/litho-it/src/test/java/com/facebook/litho/ApplyStylesTest.kt b/litho-it/src/test/java/com/facebook/litho/ApplyStylesTest.kt
index c3b1c2afb18..0401d61fd01 100644
--- a/litho-it/src/test/java/com/facebook/litho/ApplyStylesTest.kt
+++ b/litho-it/src/test/java/com/facebook/litho/ApplyStylesTest.kt
@@ -20,7 +20,7 @@ import android.graphics.drawable.ColorDrawable
 import android.view.View
 import com.facebook.litho.config.ComponentsConfiguration
 import com.facebook.litho.it.R
-import com.facebook.litho.testing.LegacyLithoViewRule
+import com.facebook.litho.testing.LegacyLithoTestRule
 import com.facebook.litho.testing.exactly
 import com.facebook.litho.testing.testrunner.LithoTestRunner
 import com.facebook.litho.testing.unspecified
@@ -38,53 +38,53 @@ class ApplyStylesTest {
 
   @JvmField
   @Rule
-  var legacyLithoViewRule: LegacyLithoViewRule =
-      LegacyLithoViewRule(
+  var legacyLithoTestRule: LegacyLithoTestRule =
+      LegacyLithoTestRule(
           ComponentsConfiguration.defaultInstance.copy(shouldAddHostViewForRootComponent = true))
 
   @Test
   fun styles_withWidthHeightStyle_appliesWidthHeight() {
-    legacyLithoViewRule
+    legacyLithoTestRule
         .setSizeSpecs(unspecified(), unspecified())
         .setRoot(
-            Column.create(legacyLithoViewRule.context, 0, R.style.ApplyStylesTest_WidthHeight)
+            Column.create(legacyLithoTestRule.context, 0, R.style.ApplyStylesTest_WidthHeight)
                 .build())
         .measure()
         .layout()
         .attachToWindow()
-    assertThat(legacyLithoViewRule.lithoView.width).isEqualTo(37)
-    assertThat(legacyLithoViewRule.lithoView.height).isEqualTo(100)
+    assertThat(legacyLithoTestRule.lithoView.width).isEqualTo(37)
+    assertThat(legacyLithoTestRule.lithoView.height).isEqualTo(100)
   }
 
   @Test
   fun styles_withMinWidthHeightStyle_appliesMinWidthHeight() {
-    legacyLithoViewRule
+    legacyLithoTestRule
         .setSizeSpecs(unspecified(), unspecified())
         .setRoot(
-            Column.create(legacyLithoViewRule.context, 0, R.style.ApplyStylesTest_MinWidthHeight)
+            Column.create(legacyLithoTestRule.context, 0, R.style.ApplyStylesTest_MinWidthHeight)
                 .build())
         .measure()
         .layout()
         .attachToWindow()
-    assertThat(legacyLithoViewRule.lithoView.width).isEqualTo(50)
-    assertThat(legacyLithoViewRule.lithoView.height).isEqualTo(75)
+    assertThat(legacyLithoTestRule.lithoView.width).isEqualTo(50)
+    assertThat(legacyLithoTestRule.lithoView.height).isEqualTo(75)
   }
 
   @Test
   fun styles_withPaddingLeftTopRightBottomStyle_appliesPadding() {
-    legacyLithoViewRule
+    legacyLithoTestRule
         .setSizeSpecs(exactly(100), exactly(100))
         .setRoot(
             Row.create(
-                    legacyLithoViewRule.context,
+                    legacyLithoTestRule.context,
                     0,
                     R.style.ApplyStylesTest_PaddingLeftTopRightBottom)
-                .child(Column.create(legacyLithoViewRule.context).flexGrow(1f).wrapInView())
+                .child(Column.create(legacyLithoTestRule.context).flexGrow(1f).wrapInView())
                 .build())
         .measure()
         .layout()
         .attachToWindow()
-    ViewAssertions.assertThat(legacyLithoViewRule.lithoView)
+    ViewAssertions.assertThat(legacyLithoTestRule.lithoView)
         .matches(
             ViewMatchNode.forType(LithoView::class.java)
                 .child(
@@ -94,16 +94,16 @@ class ApplyStylesTest {
 
   @Test
   fun styles_withPaddingAllStyle_appliesPadding() {
-    legacyLithoViewRule
+    legacyLithoTestRule
         .setSizeSpecs(exactly(100), exactly(100))
         .setRoot(
-            Row.create(legacyLithoViewRule.context, 0, R.style.ApplyStylesTest_PaddingAll)
-                .child(Column.create(legacyLithoViewRule.context).flexGrow(1f).wrapInView())
+            Row.create(legacyLithoTestRule.context, 0, R.style.ApplyStylesTest_PaddingAll)
+                .child(Column.create(legacyLithoTestRule.context).flexGrow(1f).wrapInView())
                 .build())
         .measure()
         .layout()
         .attachToWindow()
-    ViewAssertions.assertThat(legacyLithoViewRule.lithoView)
+    ViewAssertions.assertThat(legacyLithoTestRule.lithoView)
         .matches(
             ViewMatchNode.forType(LithoView::class.java)
                 .child(
@@ -114,16 +114,16 @@ class ApplyStylesTest {
   @Ignore("T66670905")
   @Test
   fun styles_withPaddingStartEndStyle_appliesPadding() {
-    legacyLithoViewRule
+    legacyLithoTestRule
         .setSizeSpecs(exactly(100), exactly(100))
         .setRoot(
-            Row.create(legacyLithoViewRule.context, 0, R.style.ApplyStylesTest_PaddingStartEnd)
-                .child(Column.create(legacyLithoViewRule.context).flexGrow(1f).wrapInView())
+            Row.create(legacyLithoTestRule.context, 0, R.style.ApplyStylesTest_PaddingStartEnd)
+                .child(Column.create(legacyLithoTestRule.context).flexGrow(1f).wrapInView())
                 .build())
         .measure()
         .layout()
         .attachToWindow()
-    ViewAssertions.assertThat(legacyLithoViewRule.lithoView)
+    ViewAssertions.assertThat(legacyLithoTestRule.lithoView)
         .matches(
             ViewMatchNode.forType(LithoView::class.java)
                 .child(ViewMatchNode.forType(View::class.java).bounds(20, 0, 100 - 20 - 40, 100)))
@@ -131,13 +131,13 @@ class ApplyStylesTest {
 
   @Test
   fun styles_withMarginLeftTopRightBottomStyle_appliesMargin() {
-    legacyLithoViewRule
+    legacyLithoTestRule
         .setSizeSpecs(exactly(100), exactly(100))
         .setRoot(
-            Row.create(legacyLithoViewRule.context)
+            Row.create(legacyLithoTestRule.context)
                 .child(
                     Column.create(
-                            legacyLithoViewRule.context,
+                            legacyLithoTestRule.context,
                             0,
                             R.style.ApplyStylesTest_MarginLeftTopRightBottom)
                         .flexGrow(1f)
@@ -146,7 +146,7 @@ class ApplyStylesTest {
         .measure()
         .layout()
         .attachToWindow()
-    ViewAssertions.assertThat(legacyLithoViewRule.lithoView)
+    ViewAssertions.assertThat(legacyLithoTestRule.lithoView)
         .matches(
             ViewMatchNode.forType(LithoView::class.java)
                 .child(
@@ -156,19 +156,19 @@ class ApplyStylesTest {
 
   @Test
   fun styles_withMarginAllStyle_appliesMargin() {
-    legacyLithoViewRule
+    legacyLithoTestRule
         .setSizeSpecs(exactly(100), exactly(100))
         .setRoot(
-            Row.create(legacyLithoViewRule.context)
+            Row.create(legacyLithoTestRule.context)
                 .child(
-                    Column.create(legacyLithoViewRule.context, 0, R.style.ApplyStylesTest_MarginAll)
+                    Column.create(legacyLithoTestRule.context, 0, R.style.ApplyStylesTest_MarginAll)
                         .flexGrow(1f)
                         .wrapInView())
                 .build())
         .measure()
         .layout()
         .attachToWindow()
-    ViewAssertions.assertThat(legacyLithoViewRule.lithoView)
+    ViewAssertions.assertThat(legacyLithoTestRule.lithoView)
         .matches(
             ViewMatchNode.forType(LithoView::class.java)
                 .child(
@@ -179,20 +179,20 @@ class ApplyStylesTest {
   @Ignore("T66670905")
   @Test
   fun styles_withMarginStartEndStyle_appliesMargin() {
-    legacyLithoViewRule
+    legacyLithoTestRule
         .setSizeSpecs(exactly(100), exactly(100))
         .setRoot(
-            Row.create(legacyLithoViewRule.context)
+            Row.create(legacyLithoTestRule.context)
                 .child(
                     Column.create(
-                            legacyLithoViewRule.context, 0, R.style.ApplyStylesTest_MarginStartEnd)
+                            legacyLithoTestRule.context, 0, R.style.ApplyStylesTest_MarginStartEnd)
                         .flexGrow(1f)
                         .wrapInView())
                 .build())
         .measure()
         .layout()
         .attachToWindow()
-    ViewAssertions.assertThat(legacyLithoViewRule.lithoView)
+    ViewAssertions.assertThat(legacyLithoTestRule.lithoView)
         .matches(
             ViewMatchNode.forType(LithoView::class.java)
                 .child(ViewMatchNode.forType(View::class.java).bounds(10, 0, 100 - 10 - 30, 100)))
@@ -200,14 +200,14 @@ class ApplyStylesTest {
 
   @Test
   fun styles_withBackgroundForegroundStyle_appliesBackgroundAndForeground() {
-    legacyLithoViewRule
+    legacyLithoTestRule
         .setSizeSpecs(exactly(100), exactly(100))
         .setRoot(
-            Row.create(legacyLithoViewRule.context)
+            Row.create(legacyLithoTestRule.context)
                 .wrapInView()
                 .child(
                     Column.create(
-                            legacyLithoViewRule.context,
+                            legacyLithoTestRule.context,
                             0,
                             R.style.ApplyStylesTest_BackgroundForeground)
                         .flexGrow(1f)
@@ -216,7 +216,7 @@ class ApplyStylesTest {
         .measure()
         .layout()
         .attachToWindow()
-    val innerHost = legacyLithoViewRule.lithoView.getChildAt(0) as ComponentHost
+    val innerHost = legacyLithoTestRule.lithoView.getChildAt(0) as ComponentHost
     ViewAssertions.assertThat(innerHost)
         .matches(
             ViewMatchNode.forType(ComponentHost::class.java)
@@ -228,14 +228,14 @@ class ApplyStylesTest {
 
   @Test
   fun styles_withAccessibilityAndContentDescriptionStyle_appliesAccessibilityAndContentDescription() {
-    legacyLithoViewRule
+    legacyLithoTestRule
         .setSizeSpecs(exactly(100), exactly(100))
         .setRoot(
-            Row.create(legacyLithoViewRule.context)
+            Row.create(legacyLithoTestRule.context)
                 .wrapInView()
                 .child(
                     Column.create(
-                            legacyLithoViewRule.context,
+                            legacyLithoTestRule.context,
                             0,
                             R.style.ApplyStylesTest_AccessibilityAndContentDescription)
                         .flexGrow(1f)
@@ -244,7 +244,7 @@ class ApplyStylesTest {
         .measure()
         .layout()
         .attachToWindow()
-    val innerHost = legacyLithoViewRule.lithoView.getChildAt(0) as ComponentHost
+    val innerHost = legacyLithoTestRule.lithoView.getChildAt(0) as ComponentHost
     ViewAssertions.assertThat(innerHost)
         .matches(
             ViewMatchNode.forType(ComponentHost::class.java)
@@ -256,14 +256,14 @@ class ApplyStylesTest {
 
   @Test
   fun styles_withDuplicateParentStateStyle_appliesDuplicateParentState() {
-    legacyLithoViewRule
+    legacyLithoTestRule
         .setSizeSpecs(exactly(100), exactly(100))
         .setRoot(
-            Row.create(legacyLithoViewRule.context)
+            Row.create(legacyLithoTestRule.context)
                 .wrapInView()
                 .child(
                     Column.create(
-                            legacyLithoViewRule.context,
+                            legacyLithoTestRule.context,
                             0,
                             R.style.ApplyStylesTest_DuplicateParentState)
                         .flexGrow(1f)
@@ -272,7 +272,7 @@ class ApplyStylesTest {
         .measure()
         .layout()
         .attachToWindow()
-    val innerHost = legacyLithoViewRule.lithoView.getChildAt(0) as ComponentHost
+    val innerHost = legacyLithoTestRule.lithoView.getChildAt(0) as ComponentHost
     ViewAssertions.assertThat(innerHost)
         .matches(
             ViewMatchNode.forType(ComponentHost::class.java)
diff --git a/litho-it/src/test/java/com/facebook/litho/AttachDetachHandlerTest.kt b/litho-it/src/test/java/com/facebook/litho/AttachDetachHandlerTest.kt
index bcccc3fdf1d..bf5244eaa4c 100644
--- a/litho-it/src/test/java/com/facebook/litho/AttachDetachHandlerTest.kt
+++ b/litho-it/src/test/java/com/facebook/litho/AttachDetachHandlerTest.kt
@@ -21,7 +21,7 @@ import android.os.Looper.getMainLooper
 import com.facebook.litho.SizeSpec.EXACTLY
 import com.facebook.litho.SizeSpec.makeSizeSpec
 import com.facebook.litho.testing.BackgroundLayoutLooperRule
-import com.facebook.litho.testing.LegacyLithoViewRule
+import com.facebook.litho.testing.LegacyLithoTestRule
 import com.facebook.litho.testing.testrunner.LithoTestRunner
 import com.facebook.litho.widget.AttachDetachTester
 import com.facebook.litho.widget.AttachDetachTesterSpec
@@ -40,7 +40,7 @@ import org.robolectric.annotation.LooperMode
 @RunWith(LithoTestRunner::class)
 class AttachDetachHandlerTest {
 
-  @JvmField @Rule val legacyLithoViewRule = LegacyLithoViewRule()
+  @JvmField @Rule val legacyLithoTestRule = LegacyLithoTestRule()
 
   @JvmField @Rule var backgroundLayoutLooperRule = BackgroundLayoutLooperRule()
 
@@ -48,13 +48,13 @@ class AttachDetachHandlerTest {
   fun component_setRootWithLayout_onAttachedIsCalled() {
     val steps: List = ArrayList()
     val root =
-        AttachDetachTester.create(legacyLithoViewRule.context).name("root").steps(steps).build()
-    legacyLithoViewRule.setRoot(root)
-    legacyLithoViewRule.attachToWindow().measure().layout()
+        AttachDetachTester.create(legacyLithoTestRule.context).name("root").steps(steps).build()
+    legacyLithoTestRule.setRoot(root)
+    legacyLithoTestRule.attachToWindow().measure().layout()
     assertThat(steps)
         .describedAs("Should call @OnAttached method")
         .containsExactly("root:${AttachDetachTesterSpec.ON_ATTACHED}")
-    val attachDetachHandler = legacyLithoViewRule.componentTree.attachDetachHandler
+    val attachDetachHandler = legacyLithoTestRule.componentTree.attachDetachHandler
     val currentAttached = attachDetachHandler?.attached ?: error("Should not be null")
 
     assertThat(currentAttached.size).isEqualTo(1)
@@ -64,14 +64,14 @@ class AttachDetachHandlerTest {
   fun component_setEmptyRootAfterAttach_onDetachedIsCalled() {
     val steps: MutableList = ArrayList()
     val root =
-        AttachDetachTester.create(legacyLithoViewRule.context).name("root").steps(steps).build()
-    legacyLithoViewRule.setRoot(root)
-    legacyLithoViewRule.attachToWindow().measure().layout()
+        AttachDetachTester.create(legacyLithoTestRule.context).name("root").steps(steps).build()
+    legacyLithoTestRule.setRoot(root)
+    legacyLithoTestRule.attachToWindow().measure().layout()
     assertThat(steps)
         .describedAs("Should call @OnAttached method")
         .containsExactly("root:${AttachDetachTesterSpec.ON_ATTACHED}")
     steps.clear()
-    legacyLithoViewRule.setRoot(Column.create(legacyLithoViewRule.context).build())
+    legacyLithoTestRule.setRoot(Column.create(legacyLithoTestRule.context).build())
     assertThat(steps)
         .describedAs("Should call @OnDetached method")
         .containsExactly("root:${AttachDetachTesterSpec.ON_DETACHED}")
@@ -81,12 +81,12 @@ class AttachDetachHandlerTest {
   fun component_releaseLithoView_onDetachedIsCalled() {
     val steps: MutableList = ArrayList()
     val root =
-        AttachDetachTester.create(legacyLithoViewRule.context).name("root").steps(steps).build()
-    legacyLithoViewRule.setRoot(root)
-    legacyLithoViewRule.attachToWindow().measure().layout()
-    val attachDetachHandler = legacyLithoViewRule.componentTree.attachDetachHandler
+        AttachDetachTester.create(legacyLithoTestRule.context).name("root").steps(steps).build()
+    legacyLithoTestRule.setRoot(root)
+    legacyLithoTestRule.attachToWindow().measure().layout()
+    val attachDetachHandler = legacyLithoTestRule.componentTree.attachDetachHandler
     steps.clear()
-    legacyLithoViewRule.release()
+    legacyLithoTestRule.release()
     assertThat(steps)
         .describedAs("Should call @OnDetached method")
         .containsExactly("root:${AttachDetachTesterSpec.ON_DETACHED}")
@@ -95,15 +95,15 @@ class AttachDetachHandlerTest {
 
   @Test
   fun component_replaceRootWithSameComponent_onDetachedIsNotCalled() {
-    val c = legacyLithoViewRule.context
+    val c = legacyLithoTestRule.context
     val c3 = AttachDetachTester.create(c).name("c3")
     val c4 = AttachDetachTester.create(c).name("c4")
     val c1 = AttachDetachTester.create(c).name("c1").children(listOf(c3, c4))
     val c2 = AttachDetachTester.create(c).name("c2")
     val steps: MutableList = ArrayList()
     val r1 = AttachDetachTester.create(c).children(listOf(c1, c2)).name("r1").steps(steps).build()
-    legacyLithoViewRule.setRoot(r1)
-    legacyLithoViewRule.attachToWindow().measure().layout()
+    legacyLithoTestRule.setRoot(r1)
+    legacyLithoTestRule.attachToWindow().measure().layout()
     assertThat(steps)
         .describedAs("Should call @OnAttached methods in expected order")
         .containsExactly(
@@ -112,7 +112,7 @@ class AttachDetachHandlerTest {
             "c1:${AttachDetachTesterSpec.ON_ATTACHED}",
             "c2:${AttachDetachTesterSpec.ON_ATTACHED}",
             "r1:${AttachDetachTesterSpec.ON_ATTACHED}")
-    val attachDetachHandler = legacyLithoViewRule.componentTree.attachDetachHandler
+    val attachDetachHandler = legacyLithoTestRule.componentTree.attachDetachHandler
     var currentAttached = attachDetachHandler?.attached ?: error("Should not be null")
     assertThat(currentAttached.size).isEqualTo(5)
     steps.clear()
@@ -128,7 +128,7 @@ class AttachDetachHandlerTest {
     val c7 = AttachDetachTester.create(c).name("c7")
     val c6 = AttachDetachTester.create(c).name("c6").children(listOf(c7))
     val r2 = AttachDetachTester.create(c).children(listOf(c5, c6)).name("r2").steps(steps).build()
-    legacyLithoViewRule.setRoot(r2)
+    legacyLithoTestRule.setRoot(r2)
     assertThat(steps)
         .describedAs("Should call @OnDetached and @OnAttached methods in expect order")
         .containsExactly(
@@ -149,7 +149,7 @@ class AttachDetachHandlerTest {
     */
     val c8 = AttachDetachTester.create(c).name("c8")
     val r3 = AttachDetachTester.create(c).children(listOf(c8)).name("r3").steps(steps).build()
-    legacyLithoViewRule.setRoot(r3)
+    legacyLithoTestRule.setRoot(r3)
     assertThat(steps)
         .describedAs("Should call @OnDetached methods in expect order")
         .containsExactly(
@@ -161,15 +161,15 @@ class AttachDetachHandlerTest {
 
   @Test
   fun component_replaceRootWithDifferentComponent_onDetachedIsNotCalled() {
-    val c = legacyLithoViewRule.context
+    val c = legacyLithoTestRule.context
     val c3 = AttachDetachTester.create(c).name("c3")
     val c4 = AttachDetachTester.create(c).name("c4")
     val c1 = AttachDetachTester.create(c).name("c1").children(listOf(c3, c4))
     val c2 = AttachDetachTester.create(c).name("c2")
     val steps: MutableList = ArrayList()
     val r1 = AttachDetachTester.create(c).children(listOf(c1, c2)).name("r1").steps(steps).build()
-    legacyLithoViewRule.setRoot(r1)
-    legacyLithoViewRule.attachToWindow().measure().layout()
+    legacyLithoTestRule.setRoot(r1)
+    legacyLithoTestRule.attachToWindow().measure().layout()
     assertThat(steps)
         .describedAs("Should call @OnAttached methods in expected order")
         .containsExactly(
@@ -178,7 +178,7 @@ class AttachDetachHandlerTest {
             "c1:${AttachDetachTesterSpec.ON_ATTACHED}",
             "c2:${AttachDetachTesterSpec.ON_ATTACHED}",
             "r1:${AttachDetachTesterSpec.ON_ATTACHED}")
-    val attachDetachHandler = legacyLithoViewRule.componentTree.attachDetachHandler
+    val attachDetachHandler = legacyLithoTestRule.componentTree.attachDetachHandler
     var currentAttached = attachDetachHandler?.attached ?: error("Should not be null")
 
     assertThat(currentAttached.size).isEqualTo(5)
@@ -201,7 +201,7 @@ class AttachDetachHandlerTest {
             .key("newKey")
             .steps(steps)
             .build()
-    legacyLithoViewRule.setRoot(r2)
+    legacyLithoTestRule.setRoot(r2)
     assertThat(steps)
         .describedAs("Should call @OnDetached and @OnAttached methods in expect order")
         .containsExactly(
@@ -221,17 +221,17 @@ class AttachDetachHandlerTest {
 
   @Test
   fun component_setRootAndSizeSpecTwice_onAttachAndOnDetachedAreCalledOnlyOnce() {
-    val c = legacyLithoViewRule.context
+    val c = legacyLithoTestRule.context
     val steps: MutableList = ArrayList()
     val c1 = AttachDetachTester.create(c).name("c1")
     val component =
         AttachDetachTester.create(c).name("root").steps(steps).children(listOf(c1)).build()
-    legacyLithoViewRule.setRootAndSizeSpecSync(
+    legacyLithoTestRule.setRootAndSizeSpecSync(
         component,
         SizeSpec.makeSizeSpec(100, SizeSpec.EXACTLY),
         SizeSpec.makeSizeSpec(100, SizeSpec.EXACTLY))
-    legacyLithoViewRule.attachToWindow().measure().layout()
-    legacyLithoViewRule.setRootAndSizeSpecSync(
+    legacyLithoTestRule.attachToWindow().measure().layout()
+    legacyLithoTestRule.setRootAndSizeSpecSync(
         component,
         SizeSpec.makeSizeSpec(200, SizeSpec.EXACTLY),
         SizeSpec.makeSizeSpec(200, SizeSpec.EXACTLY))
@@ -241,7 +241,7 @@ class AttachDetachHandlerTest {
             "c1:${AttachDetachTesterSpec.ON_ATTACHED}",
             "root:${AttachDetachTesterSpec.ON_ATTACHED}")
     steps.clear()
-    legacyLithoViewRule.release()
+    legacyLithoTestRule.release()
     assertThat(steps)
         .describedAs("Should call @OnDetached only once for each component")
         .containsExactly(
@@ -251,12 +251,12 @@ class AttachDetachHandlerTest {
 
   @Test
   fun component_setRootAndSizeSpecConcurrently_onAttachAndOnDetachedAreCalledOnlyOnce() {
-    val c = legacyLithoViewRule.context
+    val c = legacyLithoTestRule.context
     val steps: List = ArrayList()
     val c1 = AttachDetachTester.create(c).name("c1")
     val component =
         AttachDetachTester.create(c).name("root").steps(steps).children(listOf(c1)).build()
-    val componentTree = legacyLithoViewRule.componentTree
+    val componentTree = legacyLithoTestRule.componentTree
     val latch1 = CountDownLatch(1)
     val thread1 = Thread {
       for (i in 0..9) {
@@ -294,17 +294,17 @@ class AttachDetachHandlerTest {
     val steps: List = ArrayList()
     val extraThreadInfo = ConcurrentHashMap()
     val root =
-        AttachDetachTester.create(legacyLithoViewRule.context)
+        AttachDetachTester.create(legacyLithoTestRule.context)
             .name("root")
             .steps(steps)
             .extraThreadInfo(extraThreadInfo)
             .build()
-    legacyLithoViewRule.attachToWindow().measure().layout()
-    legacyLithoViewRule.setRoot(root)
+    legacyLithoTestRule.attachToWindow().measure().layout()
+    legacyLithoTestRule.setRoot(root)
     assertThat(steps)
         .describedAs("Should call @OnAttached method")
         .containsExactly("root:${AttachDetachTesterSpec.ON_ATTACHED}")
-    val attachDetachHandler = legacyLithoViewRule.componentTree.attachDetachHandler
+    val attachDetachHandler = legacyLithoTestRule.componentTree.attachDetachHandler
     val currentAttached = attachDetachHandler?.attached ?: error("Should not be null")
     assertThat(currentAttached.size).isEqualTo(1)
     val isMainThreadLayout =
@@ -320,19 +320,19 @@ class AttachDetachHandlerTest {
     val steps: List = ArrayList()
     val extraThreadInfo = ConcurrentHashMap()
     val root =
-        AttachDetachTester.create(legacyLithoViewRule.context)
+        AttachDetachTester.create(legacyLithoTestRule.context)
             .name("root")
             .steps(steps)
             .extraThreadInfo(extraThreadInfo)
             .build()
-    legacyLithoViewRule.attachToWindow().measure().layout()
-    legacyLithoViewRule.setRootAsync(root)
+    legacyLithoTestRule.attachToWindow().measure().layout()
+    legacyLithoTestRule.setRootAsync(root)
     backgroundLayoutLooperRule.runToEndOfTasksSync()
     Shadows.shadowOf(Looper.getMainLooper()).idle()
     assertThat(steps)
         .describedAs("Should call @OnAttached method")
         .containsExactly("root:${AttachDetachTesterSpec.ON_ATTACHED}")
-    val attachDetachHandler = legacyLithoViewRule.componentTree.attachDetachHandler
+    val attachDetachHandler = legacyLithoTestRule.componentTree.attachDetachHandler
     val currentAttached = attachDetachHandler?.attached ?: error("Should not be null")
     assertThat(currentAttached.size).isEqualTo(1)
     val isMainThreadLayout =
diff --git a/litho-it/src/test/java/com/facebook/litho/AttachDetachTest.kt b/litho-it/src/test/java/com/facebook/litho/AttachDetachTest.kt
index 44bb903f95e..d298a0dbe1c 100644
--- a/litho-it/src/test/java/com/facebook/litho/AttachDetachTest.kt
+++ b/litho-it/src/test/java/com/facebook/litho/AttachDetachTest.kt
@@ -16,7 +16,7 @@
 
 package com.facebook.litho
 
-import com.facebook.litho.testing.LegacyLithoViewRule
+import com.facebook.litho.testing.LegacyLithoTestRule
 import com.facebook.litho.testing.testrunner.LithoTestRunner
 import com.facebook.litho.widget.HorizontalScroll
 import com.facebook.litho.widget.MountSpecLifecycleTester
@@ -27,13 +27,13 @@ import org.junit.runner.RunWith
 
 @RunWith(LithoTestRunner::class)
 class AttachDetachTest {
-  @JvmField @Rule val legacyLithoViewRule = LegacyLithoViewRule()
+  @JvmField @Rule val legacyLithoTestRule = LegacyLithoTestRule()
 
   @Test
   fun horizontalScroll_releaseTree_childComponentShouldCallOnDetached() {
-    val c = legacyLithoViewRule.context
+    val c = legacyLithoTestRule.context
     val lifecycleTracker = LifecycleTracker()
-    legacyLithoViewRule.setRoot(
+    legacyLithoTestRule.setRoot(
         HorizontalScroll.create(c)
             .contentProps(
                 MountSpecLifecycleTester.create(c)
@@ -41,8 +41,8 @@ class AttachDetachTest {
                     .lifecycleTracker(lifecycleTracker)
                     .build())
             .build())
-    legacyLithoViewRule.attachToWindow().measure().layout()
-    legacyLithoViewRule.release()
+    legacyLithoTestRule.attachToWindow().measure().layout()
+    legacyLithoTestRule.release()
     assertThat(lifecycleTracker.steps)
         .describedAs(
             "Child component should call @OnDetached when parent HorizontalScroll is detached")
diff --git a/litho-it/src/test/java/com/facebook/litho/CachedLayoutTest.kt b/litho-it/src/test/java/com/facebook/litho/CachedLayoutTest.kt
index 11cc6ced816..c5102d5a75b 100644
--- a/litho-it/src/test/java/com/facebook/litho/CachedLayoutTest.kt
+++ b/litho-it/src/test/java/com/facebook/litho/CachedLayoutTest.kt
@@ -17,7 +17,7 @@
 package com.facebook.litho
 
 import com.facebook.litho.LifecycleStep.StepInfo
-import com.facebook.litho.testing.LegacyLithoViewRule
+import com.facebook.litho.testing.LegacyLithoTestRule
 import com.facebook.litho.testing.assertj.Conditions.exactly
 import com.facebook.litho.testing.testrunner.LithoTestRunner
 import com.facebook.litho.widget.LayoutSpecLifecycleTester
@@ -35,7 +35,7 @@ import org.robolectric.annotation.LooperMode
 @RunWith(LithoTestRunner::class)
 class CachedLayoutTest {
 
-  @Rule @JvmField val lithoViewRule = LegacyLithoViewRule()
+  @Rule @JvmField val lithoViewRule = LegacyLithoTestRule()
 
   val commonAssertion =
       fun(steps: List) {
diff --git a/litho-it/src/test/java/com/facebook/litho/CommonPropsTest.kt b/litho-it/src/test/java/com/facebook/litho/CommonPropsTest.kt
index 6833e14fda3..d22f85f6e4a 100644
--- a/litho-it/src/test/java/com/facebook/litho/CommonPropsTest.kt
+++ b/litho-it/src/test/java/com/facebook/litho/CommonPropsTest.kt
@@ -24,7 +24,7 @@ import androidx.test.core.app.ApplicationProvider
 import com.facebook.litho.annotations.ImportantForAccessibility.IMPORTANT_FOR_ACCESSIBILITY_AUTO
 import com.facebook.litho.drawable.ComparableColorDrawable
 import com.facebook.litho.it.R.drawable.background_with_padding
-import com.facebook.litho.testing.LegacyLithoViewRule
+import com.facebook.litho.testing.LegacyLithoTestRule
 import com.facebook.litho.testing.TestViewComponent
 import com.facebook.litho.testing.testrunner.LithoTestRunner
 import com.facebook.litho.widget.Text
@@ -43,7 +43,7 @@ import org.junit.runner.RunWith
 @RunWith(LithoTestRunner::class)
 class CommonPropsTest {
 
-  @JvmField @Rule val legacyLithoViewRule: LegacyLithoViewRule = LegacyLithoViewRule()
+  @JvmField @Rule val legacyLithoTestRule: LegacyLithoTestRule = LegacyLithoTestRule()
   private lateinit var node: LithoNode
   private lateinit var commonProps: CommonProps
   private lateinit var componentContext: ComponentContext
@@ -290,13 +290,13 @@ class CommonPropsTest {
 
   @Test
   fun testPaddingFromDrawable() {
-    val c = legacyLithoViewRule.context
+    val c = legacyLithoTestRule.context
     val component =
         Column.create(c)
             .child(Text.create(c).text("Hello World").backgroundRes(background_with_padding))
             .build()
-    legacyLithoViewRule.attachToWindow().setRoot(component).measure().layout()
-    val result = legacyLithoViewRule.currentRootNode!!.getChildAt(0)
+    legacyLithoTestRule.attachToWindow().setRoot(component).measure().layout()
+    val result = legacyLithoTestRule.currentRootNode!!.getChildAt(0)
     assertThat(result.paddingLeft).isEqualTo(48)
     assertThat(result.paddingTop).isEqualTo(0)
     assertThat(result.paddingRight).isEqualTo(0)
@@ -305,7 +305,7 @@ class CommonPropsTest {
 
   @Test
   fun testPaddingFromDrawableIsOverwritten() {
-    val c = legacyLithoViewRule.context
+    val c = legacyLithoTestRule.context
     val component =
         Column.create(c)
             .child(
@@ -317,8 +317,8 @@ class CommonPropsTest {
                     .paddingPx(YogaEdge.TOP, 8)
                     .paddingPx(YogaEdge.BOTTOM, 8))
             .build()
-    legacyLithoViewRule.attachToWindow().setRoot(component).measure().layout()
-    val result = legacyLithoViewRule.currentRootNode!!.getChildAt(0)
+    legacyLithoTestRule.attachToWindow().setRoot(component).measure().layout()
+    val result = legacyLithoTestRule.currentRootNode!!.getChildAt(0)
     assertThat(result.paddingLeft).isEqualTo(8)
     assertThat(result.paddingTop).isEqualTo(8)
     assertThat(result.paddingRight).isEqualTo(8)
diff --git a/litho-it/src/test/java/com/facebook/litho/ComponentErrorBoundaryTest.kt b/litho-it/src/test/java/com/facebook/litho/ComponentErrorBoundaryTest.kt
index dc32c7514d6..79473069492 100644
--- a/litho-it/src/test/java/com/facebook/litho/ComponentErrorBoundaryTest.kt
+++ b/litho-it/src/test/java/com/facebook/litho/ComponentErrorBoundaryTest.kt
@@ -25,7 +25,7 @@ import com.facebook.litho.sections.common.SingleComponentSection
 import com.facebook.litho.sections.widget.ListRecyclerConfiguration
 import com.facebook.litho.sections.widget.RecyclerCollectionComponent
 import com.facebook.litho.testing.BackgroundLayoutLooperRule
-import com.facebook.litho.testing.LegacyLithoViewRule
+import com.facebook.litho.testing.LegacyLithoTestRule
 import com.facebook.litho.testing.error.TestCrasherOnCreateLayout
 import com.facebook.litho.testing.error.TestCrasherOnCreateLayoutWithSizeSpec
 import com.facebook.litho.testing.error.TestCrasherOnMount
@@ -73,7 +73,7 @@ class ComponentErrorBoundaryTest {
   @Rule
   @JvmField
   val lithoViewRule =
-      LegacyLithoViewRule(componentsConfiguration = ComponentsConfiguration.create().build())
+      LegacyLithoTestRule(componentsConfiguration = ComponentsConfiguration.create().build())
 
   @Rule @JvmField val expectedException = ExpectedException.none()
 
diff --git a/litho-it/src/test/java/com/facebook/litho/ComponentHostTest.kt b/litho-it/src/test/java/com/facebook/litho/ComponentHostTest.kt
index 91a273f2af4..00720958f1a 100644
--- a/litho-it/src/test/java/com/facebook/litho/ComponentHostTest.kt
+++ b/litho-it/src/test/java/com/facebook/litho/ComponentHostTest.kt
@@ -25,7 +25,7 @@ import android.util.SparseArray
 import android.view.MotionEvent
 import android.view.View
 import androidx.collection.SparseArrayCompat
-import com.facebook.litho.testing.LegacyLithoViewRule
+import com.facebook.litho.testing.LegacyLithoTestRule
 import com.facebook.litho.testing.TestViewComponent
 import com.facebook.litho.testing.Whitebox
 import com.facebook.litho.testing.helper.ComponentTestHelper
@@ -62,11 +62,11 @@ class ComponentHostTest {
   private lateinit var viewComponent: Component
   private lateinit var context: ComponentContext
 
-  @JvmField @Rule val legacyLithoViewRule = LegacyLithoViewRule()
+  @JvmField @Rule val legacyLithoTestRule = LegacyLithoTestRule()
 
   @Before
   fun setup() {
-    context = legacyLithoViewRule.context
+    context = legacyLithoTestRule.context
     viewComponent = TestViewComponent.create(context).key(viewComponentKey).build()
     drawableComponent = SimpleMountSpecTester.create(context).key(drawableComponentKey).build()
     host = TestableComponentHost(context)
@@ -609,15 +609,15 @@ class ComponentHostTest {
                             .touchExpansionPx(YogaEdge.ALL, 5)
                             .clickHandler(NoOpEventHandler.getNoOpEventHandler())))
             .build()
-    legacyLithoViewRule.setRoot(component).attachToWindow().measure().layout()
-    val delegate = legacyLithoViewRule.lithoView.touchExpansionDelegate
+    legacyLithoTestRule.setRoot(component).attachToWindow().measure().layout()
+    val delegate = legacyLithoTestRule.lithoView.touchExpansionDelegate
     assertThat(delegate).describedAs("Should be not null for the host view of the Text").isNotNull
-    val child1 = legacyLithoViewRule.lithoView.getChildAt(0)
+    val child1 = legacyLithoTestRule.lithoView.getChildAt(0)
     assertThat(child1).isInstanceOf(ComponentHost::class.java)
     assertThat((child1 as ComponentHost).touchExpansionDelegate)
         .describedAs("should be null for the Text")
         .isNull()
-    val child2 = legacyLithoViewRule.lithoView.getChildAt(1)
+    val child2 = legacyLithoTestRule.lithoView.getChildAt(1)
     assertThat(child2).isInstanceOf(ComponentHost::class.java)
     assertThat((child2 as ComponentHost).touchExpansionDelegate)
         .describedAs("Should be not null for the host view of the Text Input")
diff --git a/litho-it/src/test/java/com/facebook/litho/ComponentStyleTest.kt b/litho-it/src/test/java/com/facebook/litho/ComponentStyleTest.kt
index 7760da07850..6bcd1b393aa 100644
--- a/litho-it/src/test/java/com/facebook/litho/ComponentStyleTest.kt
+++ b/litho-it/src/test/java/com/facebook/litho/ComponentStyleTest.kt
@@ -25,7 +25,7 @@ import com.facebook.litho.it.R.attr.testAttrLargeText
 import com.facebook.litho.it.R.style.PaddingStyle
 import com.facebook.litho.it.R.style.TestTheme
 import com.facebook.litho.it.R.style.TextSizeStyle
-import com.facebook.litho.testing.LegacyLithoViewRule
+import com.facebook.litho.testing.LegacyLithoTestRule
 import com.facebook.litho.testing.Whitebox
 import com.facebook.litho.testing.testrunner.LithoTestRunner
 import com.facebook.litho.widget.Text
@@ -45,14 +45,14 @@ class ComponentStyleTest {
   private var largeDimen = 0
   private lateinit var context: ComponentContext
 
-  @JvmField @Rule var legacyLithoViewRule: LegacyLithoViewRule = LegacyLithoViewRule()
+  @JvmField @Rule var legacyLithoTestRule: LegacyLithoTestRule = LegacyLithoTestRule()
 
   @Before
   fun setup() {
     context =
         ComponentContext(
             ContextThemeWrapper(ApplicationProvider.getApplicationContext(), TestTheme))
-    legacyLithoViewRule.useContext(context)
+    legacyLithoTestRule.useContext(context)
     dimen = context.resources.getDimensionPixelSize(R.dimen.test_dimen)
     largeDimen = context.resources.getDimensionPixelSize(R.dimen.test_large_dimen)
   }
@@ -74,8 +74,8 @@ class ComponentStyleTest {
   fun testStyleLayout() {
     val component = Text.create(context, 0, PaddingStyle).text("text").build()
     val result =
-        LegacyLithoViewRule.getRootLayout(
-            legacyLithoViewRule, component, SizeSpec.UNSPECIFIED, SizeSpec.UNSPECIFIED)
+        LegacyLithoTestRule.getRootLayout(
+            legacyLithoTestRule, component, SizeSpec.UNSPECIFIED, SizeSpec.UNSPECIFIED)
     assertThat(result?.getYogaNode()?.getPadding(YogaEdge.LEFT)).isEqualTo(dimen)
   }
 
@@ -87,8 +87,8 @@ class ComponentStyleTest {
             .paddingPx(YogaEdge.ALL, dimen * 2)
             .build()
     val result =
-        LegacyLithoViewRule.getRootLayout(
-            legacyLithoViewRule, component, SizeSpec.UNSPECIFIED, SizeSpec.UNSPECIFIED)
+        LegacyLithoTestRule.getRootLayout(
+            legacyLithoTestRule, component, SizeSpec.UNSPECIFIED, SizeSpec.UNSPECIFIED)
     assertThat(result?.getYogaNode()?.getPadding(YogaEdge.LEFT)).isEqualTo(2 * dimen)
   }
 
@@ -109,8 +109,8 @@ class ComponentStyleTest {
   fun testAttributeStyleLayout() {
     val component = Text.create(context, testAttrLargePadding, 0).text("text").build()
     val result =
-        LegacyLithoViewRule.getRootLayout(
-            legacyLithoViewRule, component, SizeSpec.UNSPECIFIED, SizeSpec.UNSPECIFIED)
+        LegacyLithoTestRule.getRootLayout(
+            legacyLithoTestRule, component, SizeSpec.UNSPECIFIED, SizeSpec.UNSPECIFIED)
     assertThat(result?.getYogaNode()?.getPadding(YogaEdge.LEFT)).isEqualTo(largeDimen)
   }
 
@@ -122,8 +122,8 @@ class ComponentStyleTest {
             .paddingPx(YogaEdge.ALL, dimen * 2)
             .build()
     val result =
-        LegacyLithoViewRule.getRootLayout(
-            legacyLithoViewRule, component, SizeSpec.UNSPECIFIED, SizeSpec.UNSPECIFIED)
+        LegacyLithoTestRule.getRootLayout(
+            legacyLithoTestRule, component, SizeSpec.UNSPECIFIED, SizeSpec.UNSPECIFIED)
     assertThat(result?.getYogaNode()?.getPadding(YogaEdge.LEFT)).isEqualTo(2 * dimen)
   }
 
@@ -137,8 +137,8 @@ class ComponentStyleTest {
   fun testStyleResOverridenByAttrResForLayout() {
     val component = Text.create(context, testAttrLargePadding, PaddingStyle).text("text").build()
     val result =
-        LegacyLithoViewRule.getRootLayout(
-            legacyLithoViewRule, component, SizeSpec.UNSPECIFIED, SizeSpec.UNSPECIFIED)
+        LegacyLithoTestRule.getRootLayout(
+            legacyLithoTestRule, component, SizeSpec.UNSPECIFIED, SizeSpec.UNSPECIFIED)
     assertThat(result?.getYogaNode()?.getPadding(YogaEdge.LEFT)).isEqualTo(largeDimen)
   }
 }
diff --git a/litho-it/src/test/java/com/facebook/litho/ComponentsConfigurationTest.kt b/litho-it/src/test/java/com/facebook/litho/ComponentsConfigurationTest.kt
index 46419719c09..0c980c58ff3 100644
--- a/litho-it/src/test/java/com/facebook/litho/ComponentsConfigurationTest.kt
+++ b/litho-it/src/test/java/com/facebook/litho/ComponentsConfigurationTest.kt
@@ -25,7 +25,7 @@ import com.facebook.litho.sections.common.SingleComponentSection
 import com.facebook.litho.sections.widget.ListRecyclerConfiguration
 import com.facebook.litho.sections.widget.RecyclerBinderConfiguration
 import com.facebook.litho.sections.widget.RecyclerCollectionComponent
-import com.facebook.litho.testing.LegacyLithoViewRule
+import com.facebook.litho.testing.LegacyLithoTestRule
 import com.facebook.litho.testing.testrunner.LithoTestRunner
 import com.facebook.litho.widget.RecyclerBinderConfig
 import org.assertj.core.api.Assertions.assertThat
@@ -38,7 +38,7 @@ import org.robolectric.annotation.LooperMode
 @RunWith(LithoTestRunner::class)
 class ComponentsConfigurationTest {
 
-  @JvmField @Rule val legacyLithoViewRule = LegacyLithoViewRule()
+  @JvmField @Rule val legacyLithoTestRule = LegacyLithoTestRule()
 
   private val componentContext =
       ComponentContext(ApplicationProvider.getApplicationContext())
@@ -73,7 +73,7 @@ class ComponentsConfigurationTest {
                             incrementalMountEnabled = true)))
             .build()
 
-    legacyLithoViewRule
+    legacyLithoTestRule
         .setRoot(
             RecyclerCollectionComponent.create(componentContext)
                 .recyclerConfiguration(
@@ -90,8 +90,8 @@ class ComponentsConfigurationTest {
                         .build())
                 .build())
         .setSizeSpecs(makeSizeSpec(10, SizeSpec.EXACTLY), makeSizeSpec(5, SizeSpec.EXACTLY))
-    legacyLithoViewRule.attachToWindow().measure().layout().setSizeSpecs(10, 10)
-    val childView = legacyLithoViewRule.lithoView.findViewWithTag("rv_row") as LithoView?
+    legacyLithoTestRule.attachToWindow().measure().layout().setSizeSpecs(10, 10)
+    val childView = legacyLithoTestRule.lithoView.findViewWithTag("rv_row") as LithoView?
     assertThat(childView).isNotNull
     val componentsConfiguration =
         childView?.componentTree?.context?.mLithoConfiguration?.componentsConfig
diff --git a/litho-it/src/test/java/com/facebook/litho/DynamicPropsExtensionTest.kt b/litho-it/src/test/java/com/facebook/litho/DynamicPropsExtensionTest.kt
index ebfa401ac8f..25dbf0bc529 100644
--- a/litho-it/src/test/java/com/facebook/litho/DynamicPropsExtensionTest.kt
+++ b/litho-it/src/test/java/com/facebook/litho/DynamicPropsExtensionTest.kt
@@ -18,7 +18,7 @@ package com.facebook.litho
 
 import android.graphics.Rect
 import android.view.View
-import com.facebook.litho.testing.LegacyLithoViewRule
+import com.facebook.litho.testing.LegacyLithoTestRule
 import com.facebook.litho.testing.testrunner.LithoTestRunner
 import com.facebook.litho.widget.MountSpecLifecycleTester
 import org.assertj.core.api.Assertions.assertThat
@@ -29,7 +29,7 @@ import org.junit.runner.RunWith
 @RunWith(LithoTestRunner::class)
 class DynamicPropsExtensionTest {
 
-  @JvmField @Rule val lithoViewRule: LegacyLithoViewRule = LegacyLithoViewRule()
+  @JvmField @Rule val lithoViewRule: LegacyLithoTestRule = LegacyLithoTestRule()
 
   @Test
   fun `when dynamic vale is set should override attribute set by MountSpec`() {
diff --git a/litho-it/src/test/java/com/facebook/litho/DynamicPropsTest.kt b/litho-it/src/test/java/com/facebook/litho/DynamicPropsTest.kt
index f80874b97d8..46b8877ff15 100644
--- a/litho-it/src/test/java/com/facebook/litho/DynamicPropsTest.kt
+++ b/litho-it/src/test/java/com/facebook/litho/DynamicPropsTest.kt
@@ -31,7 +31,7 @@ import com.facebook.litho.animated.alpha
 import com.facebook.litho.config.ComponentsConfiguration
 import com.facebook.litho.core.height
 import com.facebook.litho.core.width
-import com.facebook.litho.testing.LegacyLithoViewRule
+import com.facebook.litho.testing.LegacyLithoTestRule
 import com.facebook.litho.testing.exactly
 import com.facebook.litho.testing.helper.ComponentTestHelper
 import com.facebook.litho.testing.testrunner.LithoTestRunner
@@ -60,7 +60,7 @@ class DynamicPropsTest {
   val config =
       ComponentsConfiguration.defaultInstance.copy(shouldAddHostViewForRootComponent = true)
 
-  @JvmField @Rule val legacyLithoViewRule = LegacyLithoViewRule(config)
+  @JvmField @Rule val legacyLithoTestRule = LegacyLithoTestRule(config)
 
   @Before
   fun setup() {
@@ -72,7 +72,7 @@ class DynamicPropsTest {
     val startValue = 0.8f
     val alphaDV = DynamicValue(startValue)
     val lithoView =
-        legacyLithoViewRule
+        legacyLithoTestRule
             .attachToWindow()
             .setRoot(Column.create(context).widthPx(80).heightPx(80).alpha(alphaDV).build())
             .measure()
@@ -107,13 +107,13 @@ class DynamicPropsTest {
             .backgroundColor(Color.MAGENTA)
             .alpha(alphaDV)
             .build()
-    legacyLithoViewRule
+    legacyLithoTestRule
         .setRoot(component1)
         .setSizeSpecs(makeSizeSpec(80, EXACTLY), makeSizeSpec(80, EXACTLY))
         .attachToWindow()
         .measure()
         .layout()
-    val lithoView = legacyLithoViewRule.lithoView
+    val lithoView = legacyLithoTestRule.lithoView
 
     // Ensure we have one view.
     assertThat(lithoView.childCount).isEqualTo(1)
@@ -128,7 +128,7 @@ class DynamicPropsTest {
 
     // Mount component2, which is identical to component1, except with a different bg, invoking
     // an update sequence.
-    legacyLithoViewRule.setRoot(component2)
+    legacyLithoTestRule.setRoot(component2)
 
     // Grab the host again
     hostView = lithoView.getChildAt(0)
@@ -151,7 +151,7 @@ class DynamicPropsTest {
     val translationXDV = DynamicValue(startValueX)
     val translationYDV = DynamicValue(startValueY)
     val lithoView =
-        legacyLithoViewRule
+        legacyLithoTestRule
             .attachToWindow()
             .setRoot(
                 Column.create(context)
@@ -188,7 +188,7 @@ class DynamicPropsTest {
     val scaleXDV = DynamicValue(startValueX)
     val scaleYDV = DynamicValue(startValueY)
     val lithoView =
-        legacyLithoViewRule
+        legacyLithoTestRule
             .attachToWindow()
             .setRoot(
                 Column.create(context)
@@ -223,7 +223,7 @@ class DynamicPropsTest {
     val startValue = Color.RED
     val backgroundColorDV = DynamicValue(startValue)
     val lithoView =
-        legacyLithoViewRule
+        legacyLithoTestRule
             .attachToWindow()
             .setRoot(
                 Column.create(context)
@@ -253,7 +253,7 @@ class DynamicPropsTest {
     val rotationX = DynamicValue(startValue)
     val rotationY = DynamicValue(startValue)
     val lithoView =
-        legacyLithoViewRule
+        legacyLithoTestRule
             .attachToWindow()
             .setRoot(
                 Column.create(context)
@@ -357,7 +357,7 @@ class DynamicPropsTest {
     val startValue = 100f
     val translationZDV = DynamicValue(startValue)
     val lithoView =
-        legacyLithoViewRule
+        legacyLithoTestRule
             .attachToWindow()
             .setRoot(
                 Column.create(context)
@@ -382,8 +382,8 @@ class DynamicPropsTest {
   fun commonDynamicProps_unbindAndRebindContent_resetValues() {
     val stateUpdateCaller = DynamicPropsResetValueTesterSpec.Caller()
     val component = DynamicPropsResetValueTester.create(context).caller(stateUpdateCaller).build()
-    legacyLithoViewRule.setRoot(component).attachToWindow().measure().layout()
-    val mountDelegateTarget = legacyLithoViewRule.lithoView.mountDelegateTarget
+    legacyLithoTestRule.setRoot(component).attachToWindow().measure().layout()
+    val mountDelegateTarget = legacyLithoTestRule.lithoView.mountDelegateTarget
     var text1HostId: Long = -1
     var text2HostId: Long = -1
     for (i in 0 until mountDelegateTarget.getMountItemCount()) {
@@ -453,7 +453,7 @@ class DynamicPropsTest {
   fun testDynamicPropsAddedToSpecGeneratedComponentUsingWrapper() {
     val alphaDV = DynamicValue(0.5f)
     val lithoView =
-        legacyLithoViewRule
+        legacyLithoTestRule
             .attachToWindow()
             .setRoot(
                 Wrapper.create(context)
@@ -474,7 +474,7 @@ class DynamicPropsTest {
   fun testDynamicPropsAddedToPrimitiveComponentUsingWrapper() {
     val alphaDV = DynamicValue(0.5f)
     val lithoView =
-        legacyLithoViewRule
+        legacyLithoTestRule
             .attachToWindow()
             .setRoot(
                 Wrapper.create(context)
@@ -517,13 +517,13 @@ class DynamicPropsTest {
                             .build()))
             .build()
 
-    legacyLithoViewRule
+    legacyLithoTestRule
         .setRoot(Column.create(context).child(component1).child(component2))
         .setSizeSpecs(makeSizeSpec(80, EXACTLY), makeSizeSpec(80, EXACTLY))
         .attachToWindow()
         .measure()
         .layout()
-    val lithoView = legacyLithoViewRule.lithoView
+    val lithoView = legacyLithoTestRule.lithoView
 
     assertThat(lithoView.componentTree!!.committedLayoutState!!.dynamicValueOutputs)
         .describedAs("We should not collect empty dynamic values output for each component")
@@ -555,13 +555,13 @@ class DynamicPropsTest {
                     .build())
             .kotlinStyle(Style.alpha(alphaDV))
             .build()
-    legacyLithoViewRule
+    legacyLithoTestRule
         .setRoot(component1)
         .setSizeSpecs(makeSizeSpec(80, EXACTLY), makeSizeSpec(80, EXACTLY))
         .attachToWindow()
         .measure()
         .layout()
-    val lithoView = legacyLithoViewRule.lithoView
+    val lithoView = legacyLithoTestRule.lithoView
 
     // Ensure we have one view.
     assertThat(lithoView.childCount).isEqualTo(1)
@@ -576,7 +576,7 @@ class DynamicPropsTest {
 
     // Mount component2, which is identical to component1, except with a different yoga align,
     // invoking an update sequence.
-    legacyLithoViewRule.setRoot(component2)
+    legacyLithoTestRule.setRoot(component2)
 
     // Grab the host again
     hostView = lithoView.getChildAt(0)
@@ -608,13 +608,13 @@ class DynamicPropsTest {
                     style = Style.width(80.px).height(80.px).backgroundColor(Color.RED)))
             .kotlinStyle(Style.alpha(alphaDV))
             .build()
-    legacyLithoViewRule
+    legacyLithoTestRule
         .setRoot(component1)
         .setSizeSpecs(makeSizeSpec(80, EXACTLY), makeSizeSpec(80, EXACTLY))
         .attachToWindow()
         .measure()
         .layout()
-    val lithoView = legacyLithoViewRule.lithoView
+    val lithoView = legacyLithoTestRule.lithoView
 
     // Ensure we have one view.
     assertThat(lithoView.childCount).isEqualTo(1)
@@ -629,7 +629,7 @@ class DynamicPropsTest {
 
     // Mount component2, which is identical to component1, except with a different content
     // description, invoking an update sequence.
-    legacyLithoViewRule.setRoot(component2)
+    legacyLithoTestRule.setRoot(component2)
 
     // Grab the host again
     hostView = lithoView.getChildAt(0)
@@ -646,7 +646,7 @@ class DynamicPropsTest {
   fun testPrimitiveWithDynamicValueIsCorrectlyUnsubscribed() {
     val alphaDV1 = DynamicValue(1f)
     var lithoView =
-        legacyLithoViewRule
+        legacyLithoTestRule
             .attachToWindow()
             .setRoot(
                 SimpleTestPrimitiveComponent(
@@ -654,14 +654,14 @@ class DynamicPropsTest {
             .measure()
             .layout()
             .lithoView
-    legacyLithoViewRule.idle()
+    legacyLithoTestRule.idle()
 
     assertThat(alphaDV1.numberOfListeners).isEqualTo(1)
 
     // simulate update
     val alphaDV2 = DynamicValue(1f)
     lithoView =
-        legacyLithoViewRule
+        legacyLithoTestRule
             .attachToWindow()
             .setRoot(
                 SimpleTestPrimitiveComponent(
@@ -669,14 +669,14 @@ class DynamicPropsTest {
             .measure()
             .layout()
             .lithoView
-    legacyLithoViewRule.idle()
+    legacyLithoTestRule.idle()
 
     // should unsubscribe from the old DV and subscribe to the new DV
     assertThat(alphaDV1.numberOfListeners).isEqualTo(0)
     assertThat(alphaDV2.numberOfListeners).isEqualTo(1)
 
     lithoView.unmountAllItems()
-    legacyLithoViewRule.idle()
+    legacyLithoTestRule.idle()
 
     // should unsubscribe from all DVs
     assertThat(alphaDV1.numberOfListeners).isEqualTo(0)
@@ -688,7 +688,7 @@ class DynamicPropsTest {
   fun testWrappedPrimitiveWithDynamicValueIsCorrectlyUnsubscribed() {
     val alphaDV1 = DynamicValue(1f)
     var lithoView =
-        legacyLithoViewRule
+        legacyLithoTestRule
             .attachToWindow()
             .setRoot(
                 Wrapper.create(context)
@@ -699,14 +699,14 @@ class DynamicPropsTest {
             .measure()
             .layout()
             .lithoView
-    legacyLithoViewRule.idle()
+    legacyLithoTestRule.idle()
 
     assertThat(alphaDV1.numberOfListeners).isEqualTo(1)
 
     // simulate update
     val alphaDV2 = DynamicValue(1f)
     lithoView =
-        legacyLithoViewRule
+        legacyLithoTestRule
             .attachToWindow()
             .setRoot(
                 Wrapper.create(context)
@@ -717,14 +717,14 @@ class DynamicPropsTest {
             .measure()
             .layout()
             .lithoView
-    legacyLithoViewRule.idle()
+    legacyLithoTestRule.idle()
 
     // should unsubscribe from the old DV and subscribe to the new DV
     assertThat(alphaDV1.numberOfListeners).isEqualTo(0)
     assertThat(alphaDV2.numberOfListeners).isEqualTo(1)
 
     lithoView.unmountAllItems()
-    legacyLithoViewRule.idle()
+    legacyLithoTestRule.idle()
 
     // should unsubscribe from all DVs
     assertThat(alphaDV1.numberOfListeners).isEqualTo(0)
@@ -747,13 +747,13 @@ class DynamicPropsTest {
             }
           }
         }
-    legacyLithoViewRule
+    legacyLithoTestRule
         .setRoot(component)
         .attachToWindow()
         .setSizeSpecs(exactly(1_000), exactly(1_000))
         .measure()
         .layout()
-    val lithoView = legacyLithoViewRule.lithoView
+    val lithoView = legacyLithoTestRule.lithoView
 
     // mount rect that is above both components so none of them is visible
     lithoView.mountComponent(Rect(0, -50, 10, -20), true)
diff --git a/litho-it/src/test/java/com/facebook/litho/IncrementalMountTest.kt b/litho-it/src/test/java/com/facebook/litho/IncrementalMountTest.kt
index 85614a9eeb5..c4a06f77b7f 100644
--- a/litho-it/src/test/java/com/facebook/litho/IncrementalMountTest.kt
+++ b/litho-it/src/test/java/com/facebook/litho/IncrementalMountTest.kt
@@ -23,7 +23,7 @@ import com.facebook.litho.sections.common.DynamicComponentGroupSection
 import com.facebook.litho.sections.widget.ListRecyclerConfiguration
 import com.facebook.litho.sections.widget.RecyclerCollectionComponent
 import com.facebook.litho.sections.widget.RecyclerConfiguration
-import com.facebook.litho.testing.LegacyLithoViewRule
+import com.facebook.litho.testing.LegacyLithoTestRule
 import com.facebook.litho.testing.testrunner.LithoTestRunner
 import com.facebook.litho.widget.MountSpecLifecycleTester
 import com.facebook.litho.widget.SectionsRecyclerView
@@ -39,7 +39,7 @@ import org.robolectric.annotation.LooperMode
 class IncrementalMountTest {
 
   private lateinit var context: ComponentContext
-  @JvmField @Rule var lithoViewRule = LegacyLithoViewRule()
+  @JvmField @Rule var lithoViewRule = LegacyLithoTestRule()
 
   @Before
   fun setup() {
diff --git a/litho-it/src/test/java/com/facebook/litho/InterStagePropsTest.kt b/litho-it/src/test/java/com/facebook/litho/InterStagePropsTest.kt
index 5c97a056df7..e92805b9f48 100644
--- a/litho-it/src/test/java/com/facebook/litho/InterStagePropsTest.kt
+++ b/litho-it/src/test/java/com/facebook/litho/InterStagePropsTest.kt
@@ -16,7 +16,7 @@
 
 package com.facebook.litho
 
-import com.facebook.litho.testing.LithoViewRule
+import com.facebook.litho.testing.LithoTestRule
 import com.facebook.litho.testing.testrunner.LithoTestRunner
 import com.facebook.litho.widget.MountSpecInterStagePropsTester
 import com.facebook.litho.widget.SimpleStateUpdateEmulator
@@ -34,7 +34,7 @@ class InterStagePropsTest {
 
   private lateinit var context: ComponentContext
 
-  @JvmField @Rule val lithoViewRule = LithoViewRule()
+  @JvmField @Rule val lithoViewRule = LithoTestRule()
 
   @Before
   fun setUp() {
diff --git a/litho-it/src/test/java/com/facebook/litho/KotlinSpecPropDefaultsTest.kt b/litho-it/src/test/java/com/facebook/litho/KotlinSpecPropDefaultsTest.kt
index acced6e2b43..cce267c296b 100644
--- a/litho-it/src/test/java/com/facebook/litho/KotlinSpecPropDefaultsTest.kt
+++ b/litho-it/src/test/java/com/facebook/litho/KotlinSpecPropDefaultsTest.kt
@@ -16,7 +16,7 @@
 
 package com.facebook.litho
 
-import com.facebook.litho.testing.LegacyLithoViewRule
+import com.facebook.litho.testing.LegacyLithoTestRule
 import com.facebook.litho.testing.testrunner.LithoTestRunner
 import com.facebook.litho.widget.KotlinClass
 import com.facebook.litho.widget.KotlinClassSpec
@@ -32,7 +32,7 @@ import org.junit.runner.RunWith
 @RunWith(LithoTestRunner::class)
 class KotlinSpecPropDefaultsTest {
 
-  @JvmField @Rule var lithoViewRule = LegacyLithoViewRule()
+  @JvmField @Rule var lithoViewRule = LegacyLithoTestRule()
 
   private lateinit var ensureAssertion: AtomicBoolean
 
diff --git a/litho-it/src/test/java/com/facebook/litho/LayoutCachingTest.kt b/litho-it/src/test/java/com/facebook/litho/LayoutCachingTest.kt
index 287f5880d5d..e5749f92db5 100644
--- a/litho-it/src/test/java/com/facebook/litho/LayoutCachingTest.kt
+++ b/litho-it/src/test/java/com/facebook/litho/LayoutCachingTest.kt
@@ -23,7 +23,7 @@ import com.facebook.litho.sections.widget.ListRecyclerConfiguration
 import com.facebook.litho.sections.widget.RecyclerBinderConfiguration
 import com.facebook.litho.sections.widget.RecyclerCollectionComponent
 import com.facebook.litho.sections.widget.RecyclerConfiguration
-import com.facebook.litho.testing.LegacyLithoViewRule
+import com.facebook.litho.testing.LegacyLithoTestRule
 import com.facebook.litho.testing.atMost
 import com.facebook.litho.testing.exactly
 import com.facebook.litho.testing.testrunner.LithoTestRunner
@@ -45,11 +45,11 @@ import org.robolectric.annotation.LooperMode
 @RunWith(LithoTestRunner::class)
 class LayoutCachingTest {
 
-  @JvmField @Rule var legacyLithoViewRule = LegacyLithoViewRule()
+  @JvmField @Rule var legacyLithoTestRule = LegacyLithoTestRule()
 
   @Test
   fun `verify the background of container is properly reused or created with layout caching`() {
-    val c = legacyLithoViewRule.context
+    val c = legacyLithoTestRule.context
     val caller = SimpleStateUpdateEmulatorSpec.Caller()
 
     val component =
@@ -63,24 +63,24 @@ class LayoutCachingTest {
                     .build())
             .build()
 
-    legacyLithoViewRule.setRoot(component).attachToWindow().measure().layout()
+    legacyLithoTestRule.setRoot(component).attachToWindow().measure().layout()
 
-    val background1 = legacyLithoViewRule.committedLayoutState?.getMountableOutputAt(1)?.renderUnit
+    val background1 = legacyLithoTestRule.committedLayoutState?.getMountableOutputAt(1)?.renderUnit
 
     // the height should be changed so we're not supposed to reuse the background outputs
     caller.increment()
-    val background2 = legacyLithoViewRule.committedLayoutState?.getMountableOutputAt(1)?.renderUnit
+    val background2 = legacyLithoTestRule.committedLayoutState?.getMountableOutputAt(1)?.renderUnit
     Assertions.assertThat(background1 != background2).isTrue
 
     // the height should not be changed so we could reuse the background outputs
     caller.increment()
-    val background3 = legacyLithoViewRule.committedLayoutState?.getMountableOutputAt(1)?.renderUnit
+    val background3 = legacyLithoTestRule.committedLayoutState?.getMountableOutputAt(1)?.renderUnit
     Assertions.assertThat(background2 === background3).isTrue
   }
 
   @Test
   fun `verify the layout behavior of container with background, padding is as expected`() {
-    val c = legacyLithoViewRule.context
+    val c = legacyLithoTestRule.context
 
     val caller = SimpleStateUpdateEmulatorSpec.Caller()
     val component =
@@ -89,19 +89,19 @@ class LayoutCachingTest {
             .child(SimpleStateUpdateEmulator.create(c).prefix("\n\n\n").caller(caller).build())
             .build()
 
-    legacyLithoViewRule.setRoot(component).attachToWindow().measure().layout()
+    legacyLithoTestRule.setRoot(component).attachToWindow().measure().layout()
 
-    val background1 = legacyLithoViewRule.committedLayoutState?.getMountableOutputAt(1)?.renderUnit
+    val background1 = legacyLithoTestRule.committedLayoutState?.getMountableOutputAt(1)?.renderUnit
 
     // the background of column should be reused because it doesn't change at all
     caller.increment()
-    val background2 = legacyLithoViewRule.committedLayoutState?.getMountableOutputAt(1)?.renderUnit
+    val background2 = legacyLithoTestRule.committedLayoutState?.getMountableOutputAt(1)?.renderUnit
     Assertions.assertThat(background1 === background2).isTrue
   }
 
   @Test
   fun `verify the layout result of a fixed size component is not reused when its size has changed`() {
-    val c = legacyLithoViewRule.context
+    val c = legacyLithoTestRule.context
     val lifecycleTracker = LifecycleTracker()
     val component =
         MountSpecLifecycleTester.create(c)
@@ -110,7 +110,7 @@ class LayoutCachingTest {
             .lifecycleTracker(lifecycleTracker)
             .build()
 
-    legacyLithoViewRule
+    legacyLithoTestRule
         .setRoot(component)
         .setSizeSpecs(exactly(400), exactly(200))
         .attachToWindow()
@@ -118,7 +118,7 @@ class LayoutCachingTest {
         .layout()
     lifecycleTracker.reset()
 
-    legacyLithoViewRule.setSizeSpecs(exactly(200), exactly(400)).measure().layout()
+    legacyLithoTestRule.setSizeSpecs(exactly(200), exactly(400)).measure().layout()
     Assertions.assertThat(lifecycleTracker.steps)
         .containsExactly(
             LifecycleStep.ON_BOUNDS_DEFINED,
@@ -130,7 +130,7 @@ class LayoutCachingTest {
 
   @Test
   fun `verify the layout result of a component with different size specs is re-measured`() {
-    val c = legacyLithoViewRule.context
+    val c = legacyLithoTestRule.context
     val lifecycleTracker = LifecycleTracker()
     val component =
         MountSpecLifecycleTester.create(c)
@@ -139,7 +139,7 @@ class LayoutCachingTest {
             .lifecycleTracker(lifecycleTracker)
             .build()
 
-    legacyLithoViewRule
+    legacyLithoTestRule
         .setRoot(component)
         .setSizeSpecs(exactly(1080), unspecified())
         .attachToWindow()
@@ -147,7 +147,7 @@ class LayoutCachingTest {
         .layout()
     lifecycleTracker.reset()
 
-    legacyLithoViewRule.setSizeSpecs(atMost(200), atMost(200)).measure().layout()
+    legacyLithoTestRule.setSizeSpecs(atMost(200), atMost(200)).measure().layout()
     Assertions.assertThat(lifecycleTracker.steps)
         .containsExactly(
             LifecycleStep.ON_BOUNDS_DEFINED,
@@ -158,7 +158,7 @@ class LayoutCachingTest {
 
   @Test
   fun `unchanged node with inter stage prop should not be remeasured when state updates`() {
-    val c = legacyLithoViewRule.context
+    val c = legacyLithoTestRule.context
     val lifecycleTracker = LifecycleTracker()
     val caller = SimpleStateUpdateEmulatorSpec.Caller()
     val component =
@@ -168,7 +168,7 @@ class LayoutCachingTest {
                 MountSpecInterStagePropsTester.create(c).lifecycleTracker(lifecycleTracker).build())
             .build()
 
-    legacyLithoViewRule.setRoot(component).attachToWindow().measure().layout()
+    legacyLithoTestRule.setRoot(component).attachToWindow().measure().layout()
     Assertions.assertThat(lifecycleTracker.steps)
         .containsExactly(
             LifecycleStep.ON_CREATE_INITIAL_STATE,
@@ -187,7 +187,7 @@ class LayoutCachingTest {
 
   @Test
   fun `unchanged node without inter stage prop should not get rebinding when state updates`() {
-    val c = legacyLithoViewRule.context
+    val c = legacyLithoTestRule.context
     val lifecycleTracker = LifecycleTracker()
     val caller = SimpleStateUpdateEmulatorSpec.Caller()
     val component =
@@ -202,7 +202,7 @@ class LayoutCachingTest {
                     .build())
             .build()
 
-    legacyLithoViewRule.setRoot(component).attachToWindow().measure().layout()
+    legacyLithoTestRule.setRoot(component).attachToWindow().measure().layout()
     Assertions.assertThat(lifecycleTracker.steps)
         .containsExactly(
             LifecycleStep.ON_CREATE_INITIAL_STATE,
@@ -226,7 +226,7 @@ class LayoutCachingTest {
 
   @Test
   fun `unchanged subtree should not get rebinding when state updates`() {
-    val c = legacyLithoViewRule.context
+    val c = legacyLithoTestRule.context
     val lifecycleTracker1 = LifecycleTracker()
     val lifecycleTracker2 = LifecycleTracker()
     val caller: SimpleStateUpdateEmulatorSpec.Caller = SimpleStateUpdateEmulatorSpec.Caller()
@@ -247,7 +247,7 @@ class LayoutCachingTest {
                                     .lifecycleTracker(lifecycleTracker2))))
             .build()
 
-    legacyLithoViewRule.setRoot(component).attachToWindow().measure().layout()
+    legacyLithoTestRule.setRoot(component).attachToWindow().measure().layout()
     Assertions.assertThat(lifecycleTracker1.steps)
         .containsExactly(
             LifecycleStep.ON_CREATE_INITIAL_STATE,
@@ -282,7 +282,7 @@ class LayoutCachingTest {
 
   @Test
   fun `changing size spec should trigger re-measurement`() {
-    val c = legacyLithoViewRule.context
+    val c = legacyLithoTestRule.context
     val lifecycleTracker = LifecycleTracker()
     val component =
         MountSpecPureRenderLifecycleTester.create(c)
@@ -291,7 +291,7 @@ class LayoutCachingTest {
             .build()
 
     // Make the target component to be the root component and change the size spec
-    legacyLithoViewRule
+    legacyLithoTestRule
         .setRoot(component)
         .attachToWindow()
         .setSizeSpecs(exactly(100), unspecified())
@@ -311,14 +311,14 @@ class LayoutCachingTest {
             LifecycleStep.ON_BIND)
 
     lifecycleTracker.reset()
-    legacyLithoViewRule.setSizeSpecs(exactly(200), unspecified()).measure().layout()
+    legacyLithoTestRule.setSizeSpecs(exactly(200), unspecified()).measure().layout()
     Assertions.assertThat(lifecycleTracker.steps)
         .containsExactly(LifecycleStep.ON_MEASURE, LifecycleStep.ON_BOUNDS_DEFINED)
   }
 
   @Test
   fun `inter stage data should be copied for cached nodes`() {
-    val c = legacyLithoViewRule.context
+    val c = legacyLithoTestRule.context
     val lifecycleTracker = LifecycleTracker()
     val caller = SimpleStateUpdateEmulatorSpec.Caller()
     val component =
@@ -330,7 +330,7 @@ class LayoutCachingTest {
                     .viewTag("test"))
             .build()
 
-    legacyLithoViewRule.setRoot(component).attachToWindow().measure().layout()
+    legacyLithoTestRule.setRoot(component).attachToWindow().measure().layout()
     Assertions.assertThat(lifecycleTracker.steps)
         .containsExactly(
             LifecycleStep.ON_CREATE_INITIAL_STATE,
@@ -350,7 +350,7 @@ class LayoutCachingTest {
 
   @Test
   fun `unchanged node should not get rebinding when the size of root node changes`() {
-    val c = legacyLithoViewRule.context
+    val c = legacyLithoTestRule.context
     val lifecycleTracker = LifecycleTracker()
     val component =
         Column.create(c)
@@ -361,7 +361,7 @@ class LayoutCachingTest {
                     .maxHeightPx(200))
             .build()
 
-    legacyLithoViewRule
+    legacyLithoTestRule
         .setRoot(component)
         .setSizeSpecs(exactly(300), exactly(300))
         .attachToWindow()
@@ -381,13 +381,13 @@ class LayoutCachingTest {
             LifecycleStep.ON_BIND)
 
     lifecycleTracker.reset()
-    legacyLithoViewRule.setSizeSpecs(exactly(200), exactly(200)).measure().layout()
+    legacyLithoTestRule.setSizeSpecs(exactly(200), exactly(200)).measure().layout()
     Assertions.assertThat(lifecycleTracker.steps).isEmpty()
   }
 
   @Test
   fun `verify the behavior of nested container with flex settings`() {
-    val c = legacyLithoViewRule.context
+    val c = legacyLithoTestRule.context
     val lifecycleTracker1 = LifecycleTracker()
     val lifecycleTracker2 = LifecycleTracker()
     val lifecycleTracker3 = LifecycleTracker()
@@ -450,7 +450,7 @@ class LayoutCachingTest {
             .child(Row.create(c).viewTag("Row2").child(child3).child(child4))
             .build()
 
-    legacyLithoViewRule
+    legacyLithoTestRule
         .setSizeSpecs(
             SizeSpec.makeSizeSpec(SizeSpec.UNSPECIFIED, 0),
             SizeSpec.makeSizeSpec(SizeSpec.UNSPECIFIED, 0))
@@ -484,14 +484,14 @@ class LayoutCachingTest {
             LifecycleStep.ON_MOUNT,
             LifecycleStep.ON_BIND)
 
-    val lithoView = legacyLithoViewRule.lithoView
-    val component_child1 = legacyLithoViewRule.findViewWithTag("child1")
-    val component_child2 = legacyLithoViewRule.findViewWithTag("child2")
-    val component_row1 = legacyLithoViewRule.findViewWithTag("Row1")
-    val component_child3 = legacyLithoViewRule.findViewWithTag("child3")
-    val component_child4 = legacyLithoViewRule.findViewWithTag("child4")
-    val component_row2 = legacyLithoViewRule.findViewWithTag("Row2")
-    val component_updater = legacyLithoViewRule.findViewWithTag("StateUpdater")
+    val lithoView = legacyLithoTestRule.lithoView
+    val component_child1 = legacyLithoTestRule.findViewWithTag("child1")
+    val component_child2 = legacyLithoTestRule.findViewWithTag("child2")
+    val component_row1 = legacyLithoTestRule.findViewWithTag("Row1")
+    val component_child3 = legacyLithoTestRule.findViewWithTag("child3")
+    val component_child4 = legacyLithoTestRule.findViewWithTag("child4")
+    val component_row2 = legacyLithoTestRule.findViewWithTag("Row2")
+    val component_updater = legacyLithoTestRule.findViewWithTag("StateUpdater")
 
     Assertions.assertThat(component_child1.width)
         .describedAs("Child1 should be measured with specified width")
@@ -559,7 +559,7 @@ class LayoutCachingTest {
     lifecycleTracker2.reset()
     lifecycleTracker3.reset()
     lifecycleTracker4.reset()
-    legacyLithoViewRule.setSizePx(200, 200).measure().layout()
+    legacyLithoTestRule.setSizePx(200, 200).measure().layout()
     Assertions.assertThat(component_child1.width)
         .describedAs("Child1 should take half of the width")
         .isEqualTo(100)
@@ -617,7 +617,7 @@ class LayoutCachingTest {
     lifecycleTracker2.reset()
     lifecycleTracker3.reset()
     lifecycleTracker4.reset()
-    legacyLithoViewRule.setSizePx(40, 200).measure().layout()
+    legacyLithoTestRule.setSizePx(40, 200).measure().layout()
     Assertions.assertThat(component_child1.width)
         .describedAs("Shrink width due to the size constraints")
         .isEqualTo(20)
@@ -673,7 +673,7 @@ class LayoutCachingTest {
 
   @Test
   fun `verify the behavior of onBoundsDefined with padding and border`() {
-    val c = legacyLithoViewRule.context
+    val c = legacyLithoTestRule.context
     val lifecycleTracker = LifecycleTracker()
     val caller = SimpleStateUpdateEmulatorSpec.Caller()
     val component =
@@ -689,7 +689,7 @@ class LayoutCachingTest {
             .build()
 
     // initial mount
-    legacyLithoViewRule.setRoot(component).attachToWindow().measure().layout()
+    legacyLithoTestRule.setRoot(component).attachToWindow().measure().layout()
     Assertions.assertThat(lifecycleTracker.steps)
         .contains(LifecycleStep.ON_MEASURE, LifecycleStep.ON_BOUNDS_DEFINED)
     Assertions.assertThat(lifecycleTracker.width).isEqualTo(972)
@@ -698,7 +698,7 @@ class LayoutCachingTest {
     // set root with the same component to verify that:
     // We're reusing the correct size that saved from diff node
     lifecycleTracker.reset()
-    legacyLithoViewRule
+    legacyLithoTestRule
         .setRootAndSizeSpecSync(
             Column.create(c)
                 .child(SimpleStateUpdateEmulator.create(c).caller(caller).build())
@@ -736,7 +736,7 @@ class LayoutCachingTest {
     // 2. we should subtract padding and border from measured size when `onMeasure` not being called
     // 3. we're creating new render units
     lifecycleTracker.reset()
-    legacyLithoViewRule
+    legacyLithoTestRule
         .setRoot(
             Column.create(c)
                 .child(SimpleStateUpdateEmulator.create(c).caller(caller).build())
@@ -777,7 +777,7 @@ class LayoutCachingTest {
    */
   @Test
   fun `RecyclerCollectionComponent with wrapContent should be re-measured with the latest size specs when it changes`() {
-    val context = legacyLithoViewRule.context
+    val context = legacyLithoTestRule.context
     val lifecycleTracker1 = LifecycleTracker()
     val lifecycleTracker2 = LifecycleTracker()
     val lifecycleTracker3 = LifecycleTracker()
@@ -787,7 +787,7 @@ class LayoutCachingTest {
             context, lifecycleTracker1, lifecycleTracker2, lifecycleTracker3)
 
     // Set LithoView with height so that it can fully show all the items
-    legacyLithoViewRule
+    legacyLithoTestRule
         .setRoot(component)
         .attachToWindow()
         .setSizeSpecs(exactly(100), unspecified())
@@ -804,14 +804,14 @@ class LayoutCachingTest {
             getCountOfLifecycleSteps(lifecycleTracker3.steps, LifecycleStep.ON_MEASURE))
         .isEqualTo(5)
 
-    val height = legacyLithoViewRule.lithoView.height
+    val height = legacyLithoTestRule.lithoView.height
 
     lifecycleTracker1.reset()
     lifecycleTracker2.reset()
     lifecycleTracker3.reset()
 
     val measuredSize = Size()
-    legacyLithoViewRule.lithoView.componentTree?.setSizeSpec(
+    legacyLithoTestRule.lithoView.componentTree?.setSizeSpec(
         exactly(200), unspecified(), measuredSize)
     Assertions.assertThat(measuredSize.height).isEqualTo(height)
     Assertions.assertThat(
diff --git a/litho-it/src/test/java/com/facebook/litho/LayoutDiffingTest.kt b/litho-it/src/test/java/com/facebook/litho/LayoutDiffingTest.kt
index 84f6a15bfa5..fed0028f782 100644
--- a/litho-it/src/test/java/com/facebook/litho/LayoutDiffingTest.kt
+++ b/litho-it/src/test/java/com/facebook/litho/LayoutDiffingTest.kt
@@ -20,7 +20,7 @@ import android.graphics.Color
 import android.graphics.drawable.ColorDrawable
 import android.widget.TextView
 import com.facebook.litho.testing.BackgroundLayoutLooperRule
-import com.facebook.litho.testing.LegacyLithoViewRule
+import com.facebook.litho.testing.LegacyLithoTestRule
 import com.facebook.litho.testing.testrunner.LithoTestRunner
 import com.facebook.litho.widget.MountSpecWithShouldUpdate
 import com.facebook.litho.widget.SimpleStateUpdateEmulator
@@ -38,7 +38,7 @@ import org.robolectric.shadows.ShadowLooper
 @RunWith(LithoTestRunner::class)
 class LayoutDiffingTest {
 
-  @JvmField @Rule var legacyLithoViewRule = LegacyLithoViewRule()
+  @JvmField @Rule var legacyLithoTestRule = LegacyLithoTestRule()
 
   @JvmField @Rule var backgroundLayoutLooperRule = BackgroundLayoutLooperRule()
 
@@ -53,10 +53,10 @@ class LayoutDiffingTest {
     val stateUpdater = SimpleStateUpdateEmulatorSpec.Caller()
     val operations = ArrayList()
     val firstObjectForShouldUpdate = Any()
-    legacyLithoViewRule
+    legacyLithoTestRule
         .setRoot(
             createRootComponentWithStateUpdater(
-                legacyLithoViewRule.context, firstObjectForShouldUpdate, operations, stateUpdater))
+                legacyLithoTestRule.context, firstObjectForShouldUpdate, operations, stateUpdater))
         .setSizePx(100, 100)
         .measure()
         .layout()
@@ -74,7 +74,7 @@ class LayoutDiffingTest {
 
     // Now drain the main thread queue and mount the result
     ShadowLooper.idleMainLooper()
-    legacyLithoViewRule.layout()
+    legacyLithoTestRule.layout()
     assertThat(operations).isEmpty()
   }
 
@@ -82,10 +82,10 @@ class LayoutDiffingTest {
   fun layoutDiffing_multipleSetRootsInParallelWithShouldUpdateFalse_mountContentIsNotRemounted() {
     val operations = ArrayList()
     val firstObjectForShouldUpdate = Any()
-    legacyLithoViewRule
+    legacyLithoTestRule
         .setRoot(
             createRootComponent(
-                legacyLithoViewRule.context, firstObjectForShouldUpdate, operations))
+                legacyLithoTestRule.context, firstObjectForShouldUpdate, operations))
         .setSizePx(100, 100)
         .measure()
         .layout()
@@ -96,16 +96,16 @@ class LayoutDiffingTest {
     operations.clear()
 
     // Do two prop updates sequentially without draining the main thread queue
-    legacyLithoViewRule.setRootAsync(
-        createRootComponent(legacyLithoViewRule.context, firstObjectForShouldUpdate, operations))
+    legacyLithoTestRule.setRootAsync(
+        createRootComponent(legacyLithoTestRule.context, firstObjectForShouldUpdate, operations))
     backgroundLayoutLooperRule.runToEndOfTasksSync()
-    legacyLithoViewRule.setRootAsync(
-        createRootComponent(legacyLithoViewRule.context, firstObjectForShouldUpdate, operations))
+    legacyLithoTestRule.setRootAsync(
+        createRootComponent(legacyLithoTestRule.context, firstObjectForShouldUpdate, operations))
     backgroundLayoutLooperRule.runToEndOfTasksSync()
 
     // Now drain the main thread queue and mount the result
     ShadowLooper.idleMainLooper()
-    legacyLithoViewRule.layout()
+    legacyLithoTestRule.layout()
     assertThat(operations).isEmpty()
   }
 
@@ -119,10 +119,10 @@ class LayoutDiffingTest {
   fun layoutDiffing_multipleSetRootsInParallelWithShouldUpdateTrueForFirstLayout_mountContentIsRemounted() {
     val operations = ArrayList()
     val firstObjectForShouldUpdate = Any()
-    legacyLithoViewRule
+    legacyLithoTestRule
         .setRoot(
             createRootComponent(
-                legacyLithoViewRule.context, firstObjectForShouldUpdate, operations))
+                legacyLithoTestRule.context, firstObjectForShouldUpdate, operations))
         .setSizePx(100, 100)
         .measure()
         .layout()
@@ -132,16 +132,16 @@ class LayoutDiffingTest {
     val secondObjectForShouldUpdate = Any()
 
     // Do two prop updates sequentially without draining the main thread queue
-    legacyLithoViewRule.setRootAsync(
-        createRootComponent(legacyLithoViewRule.context, secondObjectForShouldUpdate, operations))
+    legacyLithoTestRule.setRootAsync(
+        createRootComponent(legacyLithoTestRule.context, secondObjectForShouldUpdate, operations))
     backgroundLayoutLooperRule.runToEndOfTasksSync()
-    legacyLithoViewRule.setRootAsync(
-        createRootComponent(legacyLithoViewRule.context, secondObjectForShouldUpdate, operations))
+    legacyLithoTestRule.setRootAsync(
+        createRootComponent(legacyLithoTestRule.context, secondObjectForShouldUpdate, operations))
     backgroundLayoutLooperRule.runToEndOfTasksSync()
 
     // Now drain the main thread queue and mount the result
     ShadowLooper.idleMainLooper()
-    legacyLithoViewRule.layout()
+    legacyLithoTestRule.layout()
 
     // In this case, we did change the object for shouldUpdate in layout 1 even though
     // it was the same for layouts 2. We expect to see unmount and mount.
@@ -153,10 +153,10 @@ class LayoutDiffingTest {
   fun layoutDiffing_multipleSetRootsInParallelWithShouldUpdateTrueForSecondLayout_mountContentIsRemounted() {
     val operations = ArrayList()
     val firstObjectForShouldUpdate = Any()
-    legacyLithoViewRule
+    legacyLithoTestRule
         .setRoot(
             createRootComponent(
-                legacyLithoViewRule.context, firstObjectForShouldUpdate, operations))
+                legacyLithoTestRule.context, firstObjectForShouldUpdate, operations))
         .setSizePx(100, 100)
         .measure()
         .layout()
@@ -166,16 +166,16 @@ class LayoutDiffingTest {
     val secondObjectForShouldUpdate = Any()
 
     // Do two prop updates sequentially without draining the main thread queue
-    legacyLithoViewRule.setRootAsync(
-        createRootComponent(legacyLithoViewRule.context, firstObjectForShouldUpdate, operations))
+    legacyLithoTestRule.setRootAsync(
+        createRootComponent(legacyLithoTestRule.context, firstObjectForShouldUpdate, operations))
     backgroundLayoutLooperRule.runToEndOfTasksSync()
-    legacyLithoViewRule.setRootAsync(
-        createRootComponent(legacyLithoViewRule.context, secondObjectForShouldUpdate, operations))
+    legacyLithoTestRule.setRootAsync(
+        createRootComponent(legacyLithoTestRule.context, secondObjectForShouldUpdate, operations))
     backgroundLayoutLooperRule.runToEndOfTasksSync()
 
     // Now drain the main thread queue and mount the result
     ShadowLooper.idleMainLooper()
-    legacyLithoViewRule.layout()
+    legacyLithoTestRule.layout()
 
     // Similar to the previous test, but the object changes on the second layout instead.
     assertThat(operations).containsExactly(LifecycleStep.ON_UNMOUNT, LifecycleStep.ON_MOUNT)
@@ -183,13 +183,13 @@ class LayoutDiffingTest {
 
   @Test
   fun whenStateUpdateOnPureRenderMountSpec_shouldRemountItem() {
-    val c = legacyLithoViewRule.context
+    val c = legacyLithoTestRule.context
     val component =
         Column.create(c)
             .child(TextViewCounter.create(c).viewWidth(200).viewHeight(200).build())
             .build()
-    legacyLithoViewRule.attachToWindow().setRoot(component).measure().layout()
-    val view = legacyLithoViewRule.lithoView.getChildAt(0)
+    legacyLithoTestRule.attachToWindow().setRoot(component).measure().layout()
+    val view = legacyLithoTestRule.lithoView.getChildAt(0)
     assertThat(view).isNotNull
     assertThat(view).isInstanceOf(TextView::class.java)
     assertThat((view as TextView).text).isEqualTo("0")
@@ -199,7 +199,7 @@ class LayoutDiffingTest {
 
   @Test
   fun onSetRootWithSameComponent_thenShouldNotRemeasureMountSpec() {
-    val c = legacyLithoViewRule.context
+    val c = legacyLithoTestRule.context
     val operations = ArrayList()
     val objectForShouldUpdate = Any()
     val component =
@@ -216,16 +216,16 @@ class LayoutDiffingTest {
                             .objectForShouldUpdate(objectForShouldUpdate)
                             .operationsOutput(operations)))
             .build()
-    legacyLithoViewRule.attachToWindow().setRoot(component).measure().layout()
+    legacyLithoTestRule.attachToWindow().setRoot(component).measure().layout()
     assertThat(operations).containsExactly(LifecycleStep.ON_MEASURE, LifecycleStep.ON_MOUNT)
     operations.clear()
-    legacyLithoViewRule.attachToWindow().setRoot(component).measure().layout()
+    legacyLithoTestRule.attachToWindow().setRoot(component).measure().layout()
     assertThat(operations).isEmpty()
   }
 
   @Test
   fun onSetRootWithSimilarComponent_thenShouldNotRemeasureMountSpec() {
-    val c = legacyLithoViewRule.context
+    val c = legacyLithoTestRule.context
     val operations = ArrayList()
     val objectForShouldUpdate = Any()
     val component =
@@ -242,7 +242,7 @@ class LayoutDiffingTest {
                             .objectForShouldUpdate(objectForShouldUpdate)
                             .operationsOutput(operations)))
             .build()
-    legacyLithoViewRule.attachToWindow().setRoot(component).measure().layout()
+    legacyLithoTestRule.attachToWindow().setRoot(component).measure().layout()
     assertThat(operations).containsExactly(LifecycleStep.ON_MEASURE, LifecycleStep.ON_MOUNT)
     operations.clear()
     val next =
@@ -259,13 +259,13 @@ class LayoutDiffingTest {
                             .objectForShouldUpdate(objectForShouldUpdate)
                             .operationsOutput(operations)))
             .build()
-    legacyLithoViewRule.attachToWindow().setRoot(next).measure().layout()
+    legacyLithoTestRule.attachToWindow().setRoot(next).measure().layout()
     assertThat(operations).isEmpty()
   }
 
   @Test
   fun onSetRootWithSimilarComponentWithShouldUpdateTrue_thenShouldRemeasureMountSpec() {
-    val c = legacyLithoViewRule.context
+    val c = legacyLithoTestRule.context
     val operations = ArrayList()
     val objectForShouldUpdate = Any()
     val component =
@@ -282,7 +282,7 @@ class LayoutDiffingTest {
                             .objectForShouldUpdate(objectForShouldUpdate)
                             .operationsOutput(operations)))
             .build()
-    legacyLithoViewRule.attachToWindow().setRoot(component).measure().layout()
+    legacyLithoTestRule.attachToWindow().setRoot(component).measure().layout()
     assertThat(operations).containsExactly(LifecycleStep.ON_MEASURE, LifecycleStep.ON_MOUNT)
     operations.clear()
     val next =
@@ -299,7 +299,7 @@ class LayoutDiffingTest {
                             .objectForShouldUpdate(Any())
                             .operationsOutput(operations)))
             .build()
-    legacyLithoViewRule.attachToWindow().setRoot(next).measure().layout()
+    legacyLithoTestRule.attachToWindow().setRoot(next).measure().layout()
     assertThat(operations)
         .containsExactly(LifecycleStep.ON_MEASURE, LifecycleStep.ON_UNMOUNT, LifecycleStep.ON_MOUNT)
   }
diff --git a/litho-it/src/test/java/com/facebook/litho/LayoutSpecLifecycleStatelessTest.kt b/litho-it/src/test/java/com/facebook/litho/LayoutSpecLifecycleStatelessTest.kt
index 5e80b7870c2..a7188f9c9f3 100644
--- a/litho-it/src/test/java/com/facebook/litho/LayoutSpecLifecycleStatelessTest.kt
+++ b/litho-it/src/test/java/com/facebook/litho/LayoutSpecLifecycleStatelessTest.kt
@@ -19,7 +19,7 @@ package com.facebook.litho
 import com.facebook.litho.LifecycleStep.StepInfo
 import com.facebook.litho.config.ComponentsConfiguration
 import com.facebook.litho.testing.BackgroundLayoutLooperRule
-import com.facebook.litho.testing.LegacyLithoViewRule
+import com.facebook.litho.testing.LegacyLithoTestRule
 import com.facebook.litho.testing.testrunner.LithoTestRunner
 import com.facebook.litho.widget.LayoutSpecLifecycleTester
 import com.facebook.litho.widget.LayoutSpecLifecycleTesterSpec
@@ -35,7 +35,7 @@ import org.robolectric.annotation.LooperMode
 @RunWith(LithoTestRunner::class)
 class LayoutSpecLifecycleStatelessTest {
 
-  @JvmField @Rule val legacyLithoViewRule = LegacyLithoViewRule()
+  @JvmField @Rule val legacyLithoTestRule = LegacyLithoTestRule()
 
   @JvmField @Rule var backgroundLayoutLooperRule = BackgroundLayoutLooperRule()
 
@@ -43,8 +43,8 @@ class LayoutSpecLifecycleStatelessTest {
   fun lifecycle_onSetRootWithoutLayout_shouldNotCallLifecycleMethods() {
     val info: List = ArrayList()
     val component =
-        LayoutSpecLifecycleTester.create(legacyLithoViewRule.context).steps(info).build()
-    legacyLithoViewRule.setRoot(component).idle()
+        LayoutSpecLifecycleTester.create(legacyLithoTestRule.context).steps(info).build()
+    legacyLithoTestRule.setRoot(component).idle()
     assertThat(LifecycleStep.getSteps(info))
         .describedAs("Only render lifecycle methods should be called")
         .containsExactly(
@@ -59,9 +59,9 @@ class LayoutSpecLifecycleStatelessTest {
     ComponentsConfiguration.isAnimationDisabled = false
     val info: List = ArrayList()
     val component =
-        LayoutSpecLifecycleTester.create(legacyLithoViewRule.context).steps(info).build()
-    legacyLithoViewRule.setRoot(component)
-    legacyLithoViewRule.attachToWindow().measure().layout()
+        LayoutSpecLifecycleTester.create(legacyLithoTestRule.context).steps(info).build()
+    legacyLithoTestRule.setRoot(component)
+    legacyLithoTestRule.attachToWindow().measure().layout()
     assertThat(LifecycleStep.getSteps(info))
         .describedAs("Should call the lifecycle methods in expected order")
         .containsExactly(
@@ -78,11 +78,11 @@ class LayoutSpecLifecycleStatelessTest {
   fun lifecycle_release_shouldCallLifecycleMethodOnDetach() {
     val info: MutableList = ArrayList()
     val component =
-        LayoutSpecLifecycleTester.create(legacyLithoViewRule.context).steps(info).build()
-    legacyLithoViewRule.setRoot(component)
-    legacyLithoViewRule.attachToWindow().measure().layout()
+        LayoutSpecLifecycleTester.create(legacyLithoTestRule.context).steps(info).build()
+    legacyLithoTestRule.setRoot(component)
+    legacyLithoTestRule.attachToWindow().measure().layout()
     info.clear()
-    legacyLithoViewRule.release()
+    legacyLithoTestRule.release()
     assertThat(LifecycleStep.getSteps(info))
         .describedAs("Should call onDetached")
         .containsExactly(LifecycleStep.ON_DETACHED)
@@ -92,14 +92,14 @@ class LayoutSpecLifecycleStatelessTest {
   fun lifecycle_subsequentSetRoot_shouldCallLifecycleMethod() {
     val info: MutableList = ArrayList()
     val component =
-        LayoutSpecLifecycleTester.create(legacyLithoViewRule.context).steps(info).build()
-    legacyLithoViewRule.setRoot(component)
-    legacyLithoViewRule.attachToWindow().measure().layout()
+        LayoutSpecLifecycleTester.create(legacyLithoTestRule.context).steps(info).build()
+    legacyLithoTestRule.setRoot(component)
+    legacyLithoTestRule.attachToWindow().measure().layout()
     info.clear()
     val newComponent =
-        LayoutSpecLifecycleTester.create(legacyLithoViewRule.context).steps(info).build()
-    legacyLithoViewRule.setRoot(newComponent)
-    legacyLithoViewRule.attachToWindow().measure().layout()
+        LayoutSpecLifecycleTester.create(legacyLithoTestRule.context).steps(info).build()
+    legacyLithoTestRule.setRoot(newComponent)
+    legacyLithoTestRule.attachToWindow().measure().layout()
     assertThat(LifecycleStep.getSteps(info))
         .describedAs("Should call the lifecycle methods in expected order")
         .containsExactly(
@@ -113,12 +113,12 @@ class LayoutSpecLifecycleStatelessTest {
     val info: MutableList = ArrayList()
     val caller = LayoutSpecLifecycleTesterSpec.Caller()
     val component =
-        LayoutSpecLifecycleTester.create(legacyLithoViewRule.context)
+        LayoutSpecLifecycleTester.create(legacyLithoTestRule.context)
             .steps(info)
             .caller(caller)
             .build()
-    legacyLithoViewRule.setRoot(component)
-    legacyLithoViewRule.attachToWindow().measure().layout()
+    legacyLithoTestRule.setRoot(component)
+    legacyLithoTestRule.attachToWindow().measure().layout()
     info.clear()
     caller.updateStateSync()
     assertThat(LifecycleStep.getSteps(info))
@@ -135,12 +135,12 @@ class LayoutSpecLifecycleStatelessTest {
     val info: MutableList = ArrayList()
     val caller = LayoutSpecLifecycleTesterSpec.Caller()
     val component =
-        LayoutSpecLifecycleTester.create(legacyLithoViewRule.context)
+        LayoutSpecLifecycleTester.create(legacyLithoTestRule.context)
             .steps(info)
             .caller(caller)
             .build()
-    legacyLithoViewRule.setRoot(component)
-    legacyLithoViewRule.attachToWindow().measure().layout()
+    legacyLithoTestRule.setRoot(component)
+    legacyLithoTestRule.attachToWindow().measure().layout()
     info.clear()
     caller.updateStateWithTransition()
     backgroundLayoutLooperRule.runToEndOfTasksSync()
@@ -158,12 +158,12 @@ class LayoutSpecLifecycleStatelessTest {
     val info: MutableList = ArrayList()
     val caller = LayoutSpecLifecycleTesterSpec.Caller()
     val component =
-        LayoutSpecLifecycleTester.create(legacyLithoViewRule.context)
+        LayoutSpecLifecycleTester.create(legacyLithoTestRule.context)
             .steps(info)
             .caller(caller)
             .build()
-    legacyLithoViewRule.setRoot(component)
-    legacyLithoViewRule.attachToWindow().measure().layout()
+    legacyLithoTestRule.setRoot(component)
+    legacyLithoTestRule.attachToWindow().measure().layout()
     info.clear()
     val eventDispatched = EventWithoutAnnotation(1, true, "hello")
     caller.dispatchEventWithoutAnnotation(eventDispatched)
diff --git a/litho-it/src/test/java/com/facebook/litho/LayoutSpecLifecycleTest.kt b/litho-it/src/test/java/com/facebook/litho/LayoutSpecLifecycleTest.kt
index 4cbe8f6912e..988361158f8 100644
--- a/litho-it/src/test/java/com/facebook/litho/LayoutSpecLifecycleTest.kt
+++ b/litho-it/src/test/java/com/facebook/litho/LayoutSpecLifecycleTest.kt
@@ -19,7 +19,7 @@ package com.facebook.litho
 import com.facebook.litho.LifecycleStep.StepInfo
 import com.facebook.litho.config.ComponentsConfiguration
 import com.facebook.litho.testing.BackgroundLayoutLooperRule
-import com.facebook.litho.testing.LegacyLithoViewRule
+import com.facebook.litho.testing.LegacyLithoTestRule
 import com.facebook.litho.testing.testrunner.LithoTestRunner
 import com.facebook.litho.widget.LayoutSpecLifecycleTester
 import com.facebook.litho.widget.LayoutSpecLifecycleTesterSpec
@@ -35,7 +35,7 @@ import org.robolectric.annotation.LooperMode
 @RunWith(LithoTestRunner::class)
 class LayoutSpecLifecycleTest {
 
-  @JvmField @Rule val legacyLithoViewRule = LegacyLithoViewRule()
+  @JvmField @Rule val legacyLithoTestRule = LegacyLithoTestRule()
 
   @JvmField @Rule var backgroundLayoutLooperRule = BackgroundLayoutLooperRule()
 
@@ -43,8 +43,8 @@ class LayoutSpecLifecycleTest {
   fun lifecycle_onSetRootWithoutLayout_shouldNotCallLifecycleMethods() {
     val info: List = ArrayList()
     val component =
-        LayoutSpecLifecycleTester.create(legacyLithoViewRule.context).steps(info).build()
-    legacyLithoViewRule.setRoot(component).idle()
+        LayoutSpecLifecycleTester.create(legacyLithoTestRule.context).steps(info).build()
+    legacyLithoTestRule.setRoot(component).idle()
     assertThat(LifecycleStep.getSteps(info))
         .describedAs("Only render lifecycle methods should be called")
         .containsExactly(
@@ -59,9 +59,9 @@ class LayoutSpecLifecycleTest {
     ComponentsConfiguration.isAnimationDisabled = false
     val info: List = ArrayList()
     val component =
-        LayoutSpecLifecycleTester.create(legacyLithoViewRule.context).steps(info).build()
-    legacyLithoViewRule.setRoot(component)
-    legacyLithoViewRule.attachToWindow().measure().layout()
+        LayoutSpecLifecycleTester.create(legacyLithoTestRule.context).steps(info).build()
+    legacyLithoTestRule.setRoot(component)
+    legacyLithoTestRule.attachToWindow().measure().layout()
     assertThat(LifecycleStep.getSteps(info))
         .describedAs("Should call the lifecycle methods in expected order")
         .containsExactly(
@@ -78,11 +78,11 @@ class LayoutSpecLifecycleTest {
   fun lifecycle_release_shouldCallLifecycleMethodOnDetach() {
     val info: MutableList = ArrayList()
     val component =
-        LayoutSpecLifecycleTester.create(legacyLithoViewRule.context).steps(info).build()
-    legacyLithoViewRule.setRoot(component)
-    legacyLithoViewRule.attachToWindow().measure().layout()
+        LayoutSpecLifecycleTester.create(legacyLithoTestRule.context).steps(info).build()
+    legacyLithoTestRule.setRoot(component)
+    legacyLithoTestRule.attachToWindow().measure().layout()
     info.clear()
-    legacyLithoViewRule.release()
+    legacyLithoTestRule.release()
     assertThat(LifecycleStep.getSteps(info))
         .describedAs("Should call onDetached")
         .containsExactly(LifecycleStep.ON_DETACHED)
@@ -92,14 +92,14 @@ class LayoutSpecLifecycleTest {
   fun lifecycle_subsequentSetRoot_shouldCallLifecycleMethod() {
     val info: MutableList = ArrayList()
     val component =
-        LayoutSpecLifecycleTester.create(legacyLithoViewRule.context).steps(info).build()
-    legacyLithoViewRule.setRoot(component)
-    legacyLithoViewRule.attachToWindow().measure().layout()
+        LayoutSpecLifecycleTester.create(legacyLithoTestRule.context).steps(info).build()
+    legacyLithoTestRule.setRoot(component)
+    legacyLithoTestRule.attachToWindow().measure().layout()
     info.clear()
     val newComponent =
-        LayoutSpecLifecycleTester.create(legacyLithoViewRule.context).steps(info).build()
-    legacyLithoViewRule.setRoot(newComponent)
-    legacyLithoViewRule.attachToWindow().measure().layout()
+        LayoutSpecLifecycleTester.create(legacyLithoTestRule.context).steps(info).build()
+    legacyLithoTestRule.setRoot(newComponent)
+    legacyLithoTestRule.attachToWindow().measure().layout()
     assertThat(LifecycleStep.getSteps(info))
         .describedAs("Should call the lifecycle methods in expected order")
         .containsExactly(
@@ -113,12 +113,12 @@ class LayoutSpecLifecycleTest {
     val info: MutableList = ArrayList()
     val caller = LayoutSpecLifecycleTesterSpec.Caller()
     val component =
-        LayoutSpecLifecycleTester.create(legacyLithoViewRule.context)
+        LayoutSpecLifecycleTester.create(legacyLithoTestRule.context)
             .steps(info)
             .caller(caller)
             .build()
-    legacyLithoViewRule.setRoot(component)
-    legacyLithoViewRule.attachToWindow().measure().layout()
+    legacyLithoTestRule.setRoot(component)
+    legacyLithoTestRule.attachToWindow().measure().layout()
     info.clear()
     caller.updateStateSync()
     assertThat(LifecycleStep.getSteps(info))
@@ -135,12 +135,12 @@ class LayoutSpecLifecycleTest {
     val info: MutableList = ArrayList()
     val caller = LayoutSpecLifecycleTesterSpec.Caller()
     val component =
-        LayoutSpecLifecycleTester.create(legacyLithoViewRule.context)
+        LayoutSpecLifecycleTester.create(legacyLithoTestRule.context)
             .steps(info)
             .caller(caller)
             .build()
-    legacyLithoViewRule.setRoot(component)
-    legacyLithoViewRule.attachToWindow().measure().layout()
+    legacyLithoTestRule.setRoot(component)
+    legacyLithoTestRule.attachToWindow().measure().layout()
     info.clear()
     caller.updateStateWithTransition()
     backgroundLayoutLooperRule.runToEndOfTasksSync()
@@ -158,12 +158,12 @@ class LayoutSpecLifecycleTest {
     val info: MutableList = ArrayList()
     val caller = LayoutSpecLifecycleTesterSpec.Caller()
     val component =
-        LayoutSpecLifecycleTester.create(legacyLithoViewRule.context)
+        LayoutSpecLifecycleTester.create(legacyLithoTestRule.context)
             .steps(info)
             .caller(caller)
             .build()
-    legacyLithoViewRule.setRoot(component)
-    legacyLithoViewRule.attachToWindow().measure().layout()
+    legacyLithoTestRule.setRoot(component)
+    legacyLithoTestRule.attachToWindow().measure().layout()
     info.clear()
     val eventDispatched = EventWithoutAnnotation(1, true, "hello")
     caller.dispatchEventWithoutAnnotation(eventDispatched)
diff --git a/litho-it/src/test/java/com/facebook/litho/LayoutSpecTriggerTest.kt b/litho-it/src/test/java/com/facebook/litho/LayoutSpecTriggerTest.kt
index 326c34e34c5..026cd8cd69c 100644
--- a/litho-it/src/test/java/com/facebook/litho/LayoutSpecTriggerTest.kt
+++ b/litho-it/src/test/java/com/facebook/litho/LayoutSpecTriggerTest.kt
@@ -20,7 +20,7 @@ import com.facebook.litho.LifecycleStep.StepInfo
 import com.facebook.litho.sections.SectionContext
 import com.facebook.litho.sections.common.SingleComponentSection
 import com.facebook.litho.sections.widget.RecyclerCollectionComponent
-import com.facebook.litho.testing.LegacyLithoViewRule
+import com.facebook.litho.testing.LegacyLithoTestRule
 import com.facebook.litho.testing.testrunner.LithoTestRunner
 import com.facebook.litho.widget.LayoutSpecTriggerTester
 import com.facebook.litho.widget.Text
@@ -36,11 +36,11 @@ import org.robolectric.annotation.LooperMode
 @RunWith(LithoTestRunner::class)
 class LayoutSpecTriggerTest {
 
-  @JvmField @Rule val legacyLithoViewRule = LegacyLithoViewRule()
+  @JvmField @Rule val legacyLithoTestRule = LegacyLithoTestRule()
 
   @Test
   fun layoutSpec_setRootAndTriggerEvent_eventIsTriggered() {
-    val componentContext = legacyLithoViewRule.context
+    val componentContext = legacyLithoTestRule.context
     val triggerObjectRef = AtomicReference()
     val triggerHandle = Handle()
     val info: List = ArrayList()
@@ -50,13 +50,13 @@ class LayoutSpecTriggerTest {
             .triggerObjectRef(triggerObjectRef)
             .handle(triggerHandle)
             .build()
-    legacyLithoViewRule.setRoot(component)
-    legacyLithoViewRule.attachToWindow().measure().layout()
+    legacyLithoTestRule.setRoot(component)
+    legacyLithoTestRule.attachToWindow().measure().layout()
     val bazObject = Any()
 
     // We need to use a ComponentContext with a ComponentTree on it
     LayoutSpecTriggerTester.triggerTestEvent(
-        legacyLithoViewRule.componentTree.context, triggerHandle, bazObject)
+        legacyLithoTestRule.componentTree.context, triggerHandle, bazObject)
     assertThat(LifecycleStep.getSteps(info))
         .describedAs("Should call @OnTrigger method")
         .containsExactly(LifecycleStep.ON_TRIGGER)
@@ -67,7 +67,7 @@ class LayoutSpecTriggerTest {
 
   @Test
   fun layoutSpec_setRootAndTriggerEvent_eventIsTriggered_handle_used_in_child() {
-    val componentContext = legacyLithoViewRule.context
+    val componentContext = legacyLithoTestRule.context
     val triggerObjectRef = AtomicReference()
     val triggerHandle = Handle()
     val info: List = ArrayList()
@@ -81,13 +81,13 @@ class LayoutSpecTriggerTest {
                     .handle(triggerHandle)
                     .build())
             .build()
-    legacyLithoViewRule.setRoot(component)
-    legacyLithoViewRule.attachToWindow().measure().layout()
+    legacyLithoTestRule.setRoot(component)
+    legacyLithoTestRule.attachToWindow().measure().layout()
     val bazObject = Any()
 
     // We need to use a ComponentContext with a ComponentTree on it
     LayoutSpecTriggerTester.triggerTestEvent(
-        legacyLithoViewRule.componentTree.context, triggerHandle, bazObject)
+        legacyLithoTestRule.componentTree.context, triggerHandle, bazObject)
     assertThat(LifecycleStep.getSteps(info))
         .describedAs("Should call @OnTrigger method")
         .containsExactly(LifecycleStep.ON_TRIGGER)
@@ -98,7 +98,7 @@ class LayoutSpecTriggerTest {
 
   @Test
   fun layoutSpec_setRootAndTriggerEvent_eventIsTriggered_handle_used_in_nested_tree_root() {
-    val componentContext = legacyLithoViewRule.context
+    val componentContext = legacyLithoTestRule.context
     val triggerObjectRef = AtomicReference()
     val triggerHandle = Handle()
     val info: List = ArrayList()
@@ -117,13 +117,13 @@ class LayoutSpecTriggerTest {
                                     .handle(triggerHandle)
                                     .build())))
             .build()
-    legacyLithoViewRule.setRoot(component)
-    legacyLithoViewRule.attachToWindow().measure().layout()
+    legacyLithoTestRule.setRoot(component)
+    legacyLithoTestRule.attachToWindow().measure().layout()
     val bazObject = Any()
 
     // We need to use a ComponentContext with a ComponentTree on it
     LayoutSpecTriggerTester.triggerTestEvent(
-        legacyLithoViewRule.componentTree.context, triggerHandle, bazObject)
+        legacyLithoTestRule.componentTree.context, triggerHandle, bazObject)
     assertThat(LifecycleStep.getSteps(info))
         .describedAs("Should call @OnTrigger method")
         .containsExactly(LifecycleStep.ON_TRIGGER)
@@ -134,7 +134,7 @@ class LayoutSpecTriggerTest {
 
   @Test
   fun layoutSpec_setRootAndTriggerEvent_eventIsTriggered_handle_used_in_nested_tree_deeper_in_hierarchy() {
-    val componentContext = legacyLithoViewRule.context
+    val componentContext = legacyLithoTestRule.context
     val triggerObjectRef = AtomicReference()
     val triggerHandle = Handle()
     val info: List = ArrayList()
@@ -156,13 +156,13 @@ class LayoutSpecTriggerTest {
                                             .handle(triggerHandle)
                                             .build()))))
             .build()
-    legacyLithoViewRule.setRoot(component)
-    legacyLithoViewRule.attachToWindow().measure().layout()
+    legacyLithoTestRule.setRoot(component)
+    legacyLithoTestRule.attachToWindow().measure().layout()
     val bazObject = Any()
 
     // We need to use a ComponentContext with a ComponentTree on it
     LayoutSpecTriggerTester.triggerTestEvent(
-        legacyLithoViewRule.componentTree.context, triggerHandle, bazObject)
+        legacyLithoTestRule.componentTree.context, triggerHandle, bazObject)
     assertThat(LifecycleStep.getSteps(info))
         .describedAs("Should call @OnTrigger method")
         .containsExactly(LifecycleStep.ON_TRIGGER)
diff --git a/litho-it/src/test/java/com/facebook/litho/LayoutStateAddChildWithInputTest.kt b/litho-it/src/test/java/com/facebook/litho/LayoutStateAddChildWithInputTest.kt
index 5925c32345c..bd2ca2c7e88 100644
--- a/litho-it/src/test/java/com/facebook/litho/LayoutStateAddChildWithInputTest.kt
+++ b/litho-it/src/test/java/com/facebook/litho/LayoutStateAddChildWithInputTest.kt
@@ -18,7 +18,7 @@ package com.facebook.litho
 
 import android.content.Context
 import androidx.test.core.app.ApplicationProvider
-import com.facebook.litho.testing.LegacyLithoViewRule
+import com.facebook.litho.testing.LegacyLithoTestRule
 import com.facebook.litho.testing.TestLayoutComponent
 import com.facebook.litho.testing.testrunner.LithoTestRunner
 import org.assertj.core.api.Assertions.assertThat
@@ -32,7 +32,7 @@ class LayoutStateAddChildWithInputTest {
 
   private lateinit var context: ComponentContext
 
-  @JvmField @Rule var legacyLithoViewRule = LegacyLithoViewRule()
+  @JvmField @Rule var legacyLithoTestRule = LegacyLithoTestRule()
 
   @Before
   fun setup() {
@@ -47,7 +47,7 @@ class LayoutStateAddChildWithInputTest {
             .child(TestLayoutComponent.create(context))
             .child(TestLayoutComponent.create(context))
             .build()
-    val node = LegacyLithoViewRule.getRootLayout(legacyLithoViewRule, component)?.node
+    val node = LegacyLithoTestRule.getRootLayout(legacyLithoTestRule, component)?.node
     assertThat(node?.childCount).isEqualTo(2)
     assertThat(node?.getChildAt(0)?.childCount).isEqualTo(0)
     assertThat(node?.getChildAt(1)?.childCount).isEqualTo(0)
diff --git a/litho-it/src/test/java/com/facebook/litho/LayoutStateCalculateTest.kt b/litho-it/src/test/java/com/facebook/litho/LayoutStateCalculateTest.kt
index 42cef1ee7d9..63a0b72d8b1 100644
--- a/litho-it/src/test/java/com/facebook/litho/LayoutStateCalculateTest.kt
+++ b/litho-it/src/test/java/com/facebook/litho/LayoutStateCalculateTest.kt
@@ -30,7 +30,7 @@ import androidx.test.core.app.ApplicationProvider
 import com.facebook.litho.LifecycleStep.StepInfo
 import com.facebook.litho.SizeSpec.makeSizeSpec
 import com.facebook.litho.config.ComponentsConfiguration
-import com.facebook.litho.testing.LithoViewRule
+import com.facebook.litho.testing.LithoTestRule
 import com.facebook.litho.testing.TestDrawableComponent
 import com.facebook.litho.testing.TestLayoutComponent
 import com.facebook.litho.testing.TestSizeDependentComponent
@@ -77,7 +77,7 @@ class LayoutStateCalculateTest {
   val config =
       ComponentsConfiguration.defaultInstance.copy(shouldAddHostViewForRootComponent = true)
 
-  @JvmField @Rule val lithoViewRule = LithoViewRule(config)
+  @JvmField @Rule val lithoViewRule = LithoTestRule(config)
   private lateinit var context: ComponentContext
   private lateinit var componentTreeContext: ComponentContext
 
diff --git a/litho-it/src/test/java/com/facebook/litho/LayoutWithSizeSpecLifecycleTest.kt b/litho-it/src/test/java/com/facebook/litho/LayoutWithSizeSpecLifecycleTest.kt
index 72762590580..1c36cc2cf5e 100644
--- a/litho-it/src/test/java/com/facebook/litho/LayoutWithSizeSpecLifecycleTest.kt
+++ b/litho-it/src/test/java/com/facebook/litho/LayoutWithSizeSpecLifecycleTest.kt
@@ -18,7 +18,7 @@ package com.facebook.litho
 import androidx.core.view.ViewCompat
 import com.facebook.litho.LifecycleStep.StepInfo
 import com.facebook.litho.LifecycleStep.getSteps
-import com.facebook.litho.testing.LegacyLithoViewRule
+import com.facebook.litho.testing.LegacyLithoTestRule
 import com.facebook.litho.testing.testrunner.LithoTestRunner
 import com.facebook.litho.widget.LayoutWithSizeSpecLifecycleTester
 import com.facebook.litho.widget.MountSpecPureRenderLifecycleTester
@@ -34,14 +34,14 @@ import org.robolectric.annotation.LooperMode
 @RunWith(LithoTestRunner::class)
 class LayoutWithSizeSpecLifecycleTest {
 
-  @JvmField @Rule val legacyLithoViewRule: LegacyLithoViewRule = LegacyLithoViewRule()
+  @JvmField @Rule val legacyLithoTestRule: LegacyLithoTestRule = LegacyLithoTestRule()
 
   @Test
   fun onSetRootWithoutLayoutWithSizeSpec_shouldNotCallLifecycleMethods() {
     val info: List = ArrayList()
     val component: Component =
-        LayoutWithSizeSpecLifecycleTester.create(legacyLithoViewRule.context).steps(info).build()
-    legacyLithoViewRule.setRoot(component).idle()
+        LayoutWithSizeSpecLifecycleTester.create(legacyLithoTestRule.context).steps(info).build()
+    legacyLithoTestRule.setRoot(component).idle()
     assertThat(getSteps(info))
         .describedAs("No lifecycle methods should be called")
         .containsExactly(LifecycleStep.ON_CREATE_INITIAL_STATE)
@@ -51,9 +51,9 @@ class LayoutWithSizeSpecLifecycleTest {
   fun onSetRootWithLayoutWithSizeSpecAtRoot_shouldCallLifecycleMethods() {
     val info: List = ArrayList()
     val component: Component =
-        LayoutWithSizeSpecLifecycleTester.create(legacyLithoViewRule.context).steps(info).build()
-    legacyLithoViewRule.setRoot(component)
-    legacyLithoViewRule.attachToWindow().measure().layout()
+        LayoutWithSizeSpecLifecycleTester.create(legacyLithoTestRule.context).steps(info).build()
+    legacyLithoTestRule.setRoot(component)
+    legacyLithoTestRule.attachToWindow().measure().layout()
     assertThat(getSteps(info))
         .describedAs("Should call the lifecycle methods in expected order")
         .containsExactly(
@@ -63,7 +63,7 @@ class LayoutWithSizeSpecLifecycleTest {
   @Test
   fun onSetRootWithLayoutWithSizeSpecWhichDoesNotRemeasure_shouldCallLifecycleMethods() {
     val info: List = ArrayList()
-    val c = legacyLithoViewRule.context
+    val c = legacyLithoTestRule.context
     val component: Component =
         Column.create(c)
             .child(
@@ -71,8 +71,8 @@ class LayoutWithSizeSpecLifecycleTest {
                     .steps(info)
                     .importantForAccessibility(ViewCompat.IMPORTANT_FOR_ACCESSIBILITY_YES))
             .build()
-    legacyLithoViewRule.setRoot(component)
-    legacyLithoViewRule.attachToWindow().measure().layout()
+    legacyLithoTestRule.setRoot(component)
+    legacyLithoTestRule.attachToWindow().measure().layout()
     assertThat(getSteps(info))
         .describedAs("Should call the lifecycle methods in expected order")
         .containsExactly(
@@ -82,7 +82,7 @@ class LayoutWithSizeSpecLifecycleTest {
   @Test
   fun onSetRootWithLayoutWithSizeSpecWhichRemeasure_shouldCallLifecycleMethods() {
     val info: List = ArrayList()
-    val c = legacyLithoViewRule.context
+    val c = legacyLithoTestRule.context
     val tracker = LifecycleTracker()
     val mountable: Component =
         MountSpecPureRenderLifecycleTester.create(c).lifecycleTracker(tracker).build()
@@ -92,7 +92,7 @@ class LayoutWithSizeSpecLifecycleTest {
             .child(LayoutWithSizeSpecLifecycleTester.create(c).steps(info).body(mountable))
             .child(Text.create(c).text("Hello World"))
             .build()
-    legacyLithoViewRule.setRoot(component).attachToWindow().measure().layout()
+    legacyLithoTestRule.setRoot(component).attachToWindow().measure().layout()
     assertThat(getSteps(info))
         .describedAs("Should call the lifecycle methods in expected order")
         .containsExactly(
diff --git a/litho-it/src/test/java/com/facebook/litho/LithoMetadataExceptionWrapperTest.kt b/litho-it/src/test/java/com/facebook/litho/LithoMetadataExceptionWrapperTest.kt
index ad6da2b2722..dcaa77f4b10 100644
--- a/litho-it/src/test/java/com/facebook/litho/LithoMetadataExceptionWrapperTest.kt
+++ b/litho-it/src/test/java/com/facebook/litho/LithoMetadataExceptionWrapperTest.kt
@@ -21,7 +21,7 @@ import androidx.test.core.app.ApplicationProvider
 import com.facebook.litho.TouchExpansionDelegateTest.Companion.emulateClickEvent
 import com.facebook.litho.config.ComponentsConfiguration
 import com.facebook.litho.config.LithoDebugConfigurations
-import com.facebook.litho.testing.LegacyLithoViewRule
+import com.facebook.litho.testing.LegacyLithoTestRule
 import com.facebook.litho.testing.error.TestCrasherOnCreateLayout
 import com.facebook.litho.testing.error.TestHasDelegateThatCrashesOnCreateLayout
 import com.facebook.litho.testing.testrunner.LithoTestRunner
@@ -47,7 +47,7 @@ import org.robolectric.annotation.LooperMode
 @RunWith(LithoTestRunner::class)
 class LithoMetadataExceptionWrapperTest {
 
-  @JvmField @Rule var legacyLithoViewRule = LegacyLithoViewRule()
+  @JvmField @Rule var legacyLithoTestRule = LegacyLithoTestRule()
 
   @JvmField @Rule var expectedException = ExpectedException.none()
 
@@ -69,8 +69,8 @@ class LithoMetadataExceptionWrapperTest {
 
           override fun describeTo(description: Description) = Unit
         })
-    val c = legacyLithoViewRule.context
-    legacyLithoViewRule
+    val c = legacyLithoTestRule.context
+    legacyLithoTestRule
         .setRoot(
             Wrapper.create(c)
                 .delegate(
@@ -88,8 +88,8 @@ class LithoMetadataExceptionWrapperTest {
   fun onCreateLayout_onlyRootComponent_exceptionShowsComponentStack() {
     expectedException.expect(LithoMetadataExceptionWrapper::class.java)
     expectedException.expectMessage("layout_stack: TestCrasherOnCreateLayout")
-    val c = legacyLithoViewRule.context
-    legacyLithoViewRule
+    val c = legacyLithoTestRule.context
+    legacyLithoTestRule
         .setRoot(TestCrasherOnCreateLayout.create(c))
         .measure()
         .layout()
@@ -117,14 +117,14 @@ class LithoMetadataExceptionWrapperTest {
           override fun describeTo(description: Description) = Unit
         })
     val info: List = ArrayList()
-    val context = legacyLithoViewRule.context
+    val context = legacyLithoTestRule.context
     val component: Component =
         OnErrorPassUpParentTester.create(context)
             .child(OnErrorPassUpChildTester.create(context).info(info).build())
             .info(info)
             .build()
-    legacyLithoViewRule.setRoot(component)
-    legacyLithoViewRule.attachToWindow().measure().layout()
+    legacyLithoTestRule.setRoot(component)
+    legacyLithoTestRule.attachToWindow().measure().layout()
   }
 
   @Test
@@ -148,14 +148,14 @@ class LithoMetadataExceptionWrapperTest {
           override fun describeTo(description: Description) = Unit
         })
     val info: List = ArrayList()
-    val context = legacyLithoViewRule.context
+    val context = legacyLithoTestRule.context
     val component =
         OnErrorPassUpParentTester.create(context)
             .child(OnErrorNotPresentChild.create(context).build())
             .info(info)
             .build()
-    legacyLithoViewRule.setRoot(component)
-    legacyLithoViewRule.attachToWindow().measure().layout()
+    legacyLithoTestRule.setRoot(component)
+    legacyLithoTestRule.attachToWindow().measure().layout()
   }
 
   @Test
@@ -163,7 +163,7 @@ class LithoMetadataExceptionWrapperTest {
     expectedException.expect(LithoMetadataExceptionWrapper::class.java)
     expectedException.expectMessage("log_tag: myLogTag")
     val c = getComponentContextForTest()
-    legacyLithoViewRule
+    legacyLithoTestRule
         .useComponentTree(ComponentTree.create(c).build())
         .setRoot(TestCrasherOnCreateLayout.create(c))
         .measure()
@@ -176,7 +176,7 @@ class LithoMetadataExceptionWrapperTest {
     expectedException.expect(LithoMetadataExceptionWrapper::class.java)
     expectedException.expectMessage("log_tag: myLogTag")
     val c = getComponentContextForTest()
-    legacyLithoViewRule
+    legacyLithoTestRule
         .useComponentTree(ComponentTree.create(c).build())
         .setSizePx(100, 100)
         .setRoot(TestCrasherOnCreateLayout.create(c))
@@ -198,13 +198,13 @@ class LithoMetadataExceptionWrapperTest {
                   throw RuntimeException("Expected test exception")
                 })
             .build()
-    legacyLithoViewRule
+    legacyLithoTestRule
         .useComponentTree(ComponentTree.create(c).build())
         .setRoot(component)
         .attachToWindow()
         .measure()
         .layout()
-    legacyLithoViewRule.lithoView.emulateClickEvent(7, 7)
+    legacyLithoTestRule.lithoView.emulateClickEvent(7, 7)
   }
 
   @Test
@@ -223,13 +223,13 @@ class LithoMetadataExceptionWrapperTest {
                     .handle(handle)
                     .callback { throw RuntimeException("Expected test exception") })
             .build()
-    legacyLithoViewRule
+    legacyLithoTestRule
         .useComponentTree(ComponentTree.create(c).build())
         .setRoot(component)
         .attachToWindow()
         .measure()
         .layout()
-    TriggerCallbackComponent.doTrigger(legacyLithoViewRule.componentTree.context, handle)
+    TriggerCallbackComponent.doTrigger(legacyLithoTestRule.componentTree.context, handle)
   }
 
   private fun getComponentContextForTest(): ComponentContext {
diff --git a/litho-it/src/test/java/com/facebook/litho/LithoNodeResolvedPaddingTest.kt b/litho-it/src/test/java/com/facebook/litho/LithoNodeResolvedPaddingTest.kt
index c442ec2110e..4a907b716d5 100644
--- a/litho-it/src/test/java/com/facebook/litho/LithoNodeResolvedPaddingTest.kt
+++ b/litho-it/src/test/java/com/facebook/litho/LithoNodeResolvedPaddingTest.kt
@@ -16,7 +16,7 @@
 
 package com.facebook.litho
 
-import com.facebook.litho.testing.LegacyLithoViewRule
+import com.facebook.litho.testing.LegacyLithoTestRule
 import com.facebook.litho.testing.testrunner.LithoTestRunner
 import com.facebook.yoga.YogaDirection
 import com.facebook.yoga.YogaEdge
@@ -29,12 +29,12 @@ import org.junit.runner.RunWith
 @RunWith(LithoTestRunner::class)
 class LithoNodeResolvedPaddingTest {
 
-  @JvmField @Rule val legacyLithoViewRule = LegacyLithoViewRule()
+  @JvmField @Rule val legacyLithoTestRule = LegacyLithoTestRule()
   private lateinit var builder: Component.Builder<*>
 
   @Before
   fun setup() {
-    val context = legacyLithoViewRule.context
+    val context = legacyLithoTestRule.context
     builder = Column.create(context)
   }
 
@@ -49,7 +49,7 @@ class LithoNodeResolvedPaddingTest {
   }
 
   private fun calculateLayout(): LithoLayoutResult? =
-      legacyLithoViewRule
+      legacyLithoTestRule
           .attachToWindow()
           .setRoot(builder.build())
           .measure()
diff --git a/litho-it/src/test/java/com/facebook/litho/LithoNodeTest.kt b/litho-it/src/test/java/com/facebook/litho/LithoNodeTest.kt
index 221b51af1e1..a644b932e76 100644
--- a/litho-it/src/test/java/com/facebook/litho/LithoNodeTest.kt
+++ b/litho-it/src/test/java/com/facebook/litho/LithoNodeTest.kt
@@ -23,7 +23,7 @@ import android.util.SparseArray
 import androidx.core.view.ViewCompat
 import androidx.test.core.app.ApplicationProvider
 import com.facebook.litho.layout.LayoutDirection
-import com.facebook.litho.testing.LegacyLithoViewRule
+import com.facebook.litho.testing.LegacyLithoTestRule
 import com.facebook.litho.testing.Whitebox
 import com.facebook.litho.testing.exactly
 import com.facebook.litho.testing.logging.TestComponentsReporter
@@ -44,16 +44,16 @@ import org.mockito.kotlin.whenever
 @RunWith(LithoTestRunner::class)
 class LithoNodeTest {
 
-  @JvmField @Rule val legacyLithoViewRule = LegacyLithoViewRule()
+  @JvmField @Rule val legacyLithoTestRule = LegacyLithoTestRule()
 
   private fun acquireInternalNode(): LithoNode {
-    val context = legacyLithoViewRule.context
-    legacyLithoViewRule
+    val context = legacyLithoTestRule.context
+    legacyLithoTestRule
         .attachToWindow()
         .setRootAndSizeSpecSync(Column.create(context).build(), unspecified(0), unspecified(0))
         .measure()
         .layout()
-    val root = requireNotNull(legacyLithoViewRule.currentRootNode)
+    val root = requireNotNull(legacyLithoTestRule.currentRootNode)
     return root.node
   }
 
diff --git a/litho-it/src/test/java/com/facebook/litho/LithoStatsTest.kt b/litho-it/src/test/java/com/facebook/litho/LithoStatsTest.kt
index 79341b0b163..e0f086f120d 100644
--- a/litho-it/src/test/java/com/facebook/litho/LithoStatsTest.kt
+++ b/litho-it/src/test/java/com/facebook/litho/LithoStatsTest.kt
@@ -19,7 +19,7 @@ package com.facebook.litho
 import android.content.Context
 import androidx.test.core.app.ApplicationProvider
 import com.facebook.litho.stats.LithoStats
-import com.facebook.litho.testing.LegacyLithoViewRule
+import com.facebook.litho.testing.LegacyLithoTestRule
 import com.facebook.litho.testing.helper.ComponentTestHelper
 import com.facebook.litho.testing.testrunner.LithoTestRunner
 import com.facebook.litho.widget.TextInput
@@ -43,7 +43,7 @@ class LithoStatsTest {
   private lateinit var lithoView: LithoView
   private lateinit var testComponentKey: String
 
-  @JvmField @Rule val legacyLithoViewRule = LegacyLithoViewRule()
+  @JvmField @Rule val legacyLithoTestRule = LegacyLithoTestRule()
 
   @Before
   fun setup() {
@@ -133,8 +133,8 @@ class LithoStatsTest {
   @Test
   fun mount_incrementsMountCount() {
     val beforeMountCount = LithoStats.componentMountCount
-    val component = TextInput.create(legacyLithoViewRule.context).build()
-    legacyLithoViewRule.attachToWindow().setRoot(component).measure().layout()
+    val component = TextInput.create(legacyLithoTestRule.context).build()
+    legacyLithoTestRule.attachToWindow().setRoot(component).measure().layout()
     val afterMountCount = LithoStats.componentMountCount
     assertThat(afterMountCount - beforeMountCount).isEqualTo(1)
   }
diff --git a/litho-it/src/test/java/com/facebook/litho/LithoTestRuleTest.kt b/litho-it/src/test/java/com/facebook/litho/LithoTestRuleTest.kt
index 5384dd1dfef..5dd37996936 100644
--- a/litho-it/src/test/java/com/facebook/litho/LithoTestRuleTest.kt
+++ b/litho-it/src/test/java/com/facebook/litho/LithoTestRuleTest.kt
@@ -40,7 +40,7 @@ class LithoTestRuleTest {
   @JvmField @Rule val mLithoTestRule = LithoTestRule()
 
   @Test
-  fun onLithoViewRuleWithTreeProp_shouldPropagateTreeProp() {
+  fun onLithoTestRuleWithTreeProp_shouldPropagateTreeProp() {
     val component = ComponentWithTreeProp.create(mLithoTestRule.context).build()
     val testLithoView =
         mLithoTestRule.setTreeProp(SimpleTreeProp::class.java, SimpleTreeProp("test")).render {
@@ -53,13 +53,13 @@ class LithoTestRuleTest {
   }
 
   @Test(expected = RuntimeException::class)
-  fun onLithoViewRuleWithoutTreeProp_shouldThrowException() {
+  fun onLithoTestRuleWithoutTreeProp_shouldThrowException() {
     val component = ComponentWithTreeProp.create(mLithoTestRule.context).build()
     mLithoTestRule.createTestLithoView().attachToWindow().setRoot(component).measure().layout()
   }
 
   @Test
-  fun onLithoViewRuleExceptionOnBackgroundThread_shouldPropagateExceptionImmediately() {
+  fun onLithoTestRuleExceptionOnBackgroundThread_shouldPropagateExceptionImmediately() {
     class TestComponent : KComponent() {
       override fun ComponentScope.render(): Component? {
         val randomState = useState { false }
diff --git a/litho-it/src/test/java/com/facebook/litho/LithoVisibilityEventsControllerTest.kt b/litho-it/src/test/java/com/facebook/litho/LithoVisibilityEventsControllerTest.kt
index d6c4f3e145c..0dae88306c7 100644
--- a/litho-it/src/test/java/com/facebook/litho/LithoVisibilityEventsControllerTest.kt
+++ b/litho-it/src/test/java/com/facebook/litho/LithoVisibilityEventsControllerTest.kt
@@ -17,7 +17,7 @@
 package com.facebook.litho
 
 import android.graphics.Rect
-import com.facebook.litho.testing.LegacyLithoViewRule
+import com.facebook.litho.testing.LegacyLithoTestRule
 import com.facebook.litho.testing.Whitebox
 import com.facebook.litho.testing.exactly
 import com.facebook.litho.testing.testrunner.LithoTestRunner
@@ -36,7 +36,7 @@ import org.robolectric.annotation.LooperMode
 @LooperMode(LooperMode.Mode.LEGACY)
 class LithoVisibilityEventsControllerTest {
 
-  @JvmField @Rule val legacyLithoViewRule: LegacyLithoViewRule = LegacyLithoViewRule()
+  @JvmField @Rule val legacyLithoTestRule: LegacyLithoTestRule = LegacyLithoTestRule()
   private lateinit var lithoView: LithoView
   private lateinit var component: LayoutSpecLifecycleTester
   private lateinit var mountableComponent: MountSpecLifecycleTester
@@ -46,7 +46,7 @@ class LithoVisibilityEventsControllerTest {
 
   @Before
   fun setup() {
-    val c = legacyLithoViewRule.context
+    val c = legacyLithoTestRule.context
     lithoLifecycleProviderDelegate = LithoVisibilityEventsControllerDelegate()
     steps = ArrayList()
     lifecycleTracker = LifecycleTracker()
@@ -58,7 +58,7 @@ class LithoVisibilityEventsControllerTest {
             .lifecycleTracker(lifecycleTracker)
             .build()
     lithoView = LithoView.create(c, Column.create(c).build(), lithoLifecycleProviderDelegate)
-    legacyLithoViewRule.useLithoView(lithoView)
+    legacyLithoTestRule.useLithoView(lithoView)
   }
 
   @After
@@ -70,13 +70,13 @@ class LithoVisibilityEventsControllerTest {
 
   @Test
   fun lithoLifecycleProviderDelegateInvisibleToVisibleTest() {
-    legacyLithoViewRule
+    legacyLithoTestRule
         .setRoot(component)
         .attachToWindow()
         .setSizeSpecs(exactly(10), exactly(5))
         .measure()
         .layout()
-    legacyLithoViewRule.lithoView.notifyVisibleBoundsChanged(Rect(0, 0, 10, 10), true)
+    legacyLithoTestRule.lithoView.notifyVisibleBoundsChanged(Rect(0, 0, 10, 10), true)
     lithoLifecycleProviderDelegate.moveToVisibilityState(
         LithoVisibilityEventsController.LithoVisibilityState.HINT_INVISIBLE)
     assertThat(LifecycleStep.getSteps(steps))
@@ -92,8 +92,8 @@ class LithoVisibilityEventsControllerTest {
 
   @Test
   fun lithoLifecycleProviderDelegateInvisibleToInvisibleTest() {
-    legacyLithoViewRule.setRoot(component).setSizeSpecs(exactly(10), exactly(5))
-    legacyLithoViewRule.attachToWindow().measure().layout().setSizeSpecs(10, 10)
+    legacyLithoTestRule.setRoot(component).setSizeSpecs(exactly(10), exactly(5))
+    legacyLithoTestRule.attachToWindow().measure().layout().setSizeSpecs(10, 10)
     lithoLifecycleProviderDelegate.moveToVisibilityState(
         LithoVisibilityEventsController.LithoVisibilityState.HINT_INVISIBLE)
     assertThat(LifecycleStep.getSteps(steps))
@@ -109,8 +109,8 @@ class LithoVisibilityEventsControllerTest {
 
   @Test
   fun lithoLifecycleProviderDelegateVisibleToVisibleTest() {
-    legacyLithoViewRule.setRoot(component).setSizeSpecs(exactly(10), exactly(5))
-    legacyLithoViewRule.attachToWindow().measure().layout().setSizeSpecs(10, 10)
+    legacyLithoTestRule.setRoot(component).setSizeSpecs(exactly(10), exactly(5))
+    legacyLithoTestRule.attachToWindow().measure().layout().setSizeSpecs(10, 10)
     lithoLifecycleProviderDelegate.moveToVisibilityState(
         LithoVisibilityEventsController.LithoVisibilityState.HINT_VISIBLE)
     assertThat(LifecycleStep.getSteps(steps))
@@ -126,8 +126,8 @@ class LithoVisibilityEventsControllerTest {
 
   @Test
   fun lithoLifecycleProviderDelegateVisibleToDestroyedTest() {
-    legacyLithoViewRule.setRoot(mountableComponent).setSizeSpecs(exactly(10), exactly(5))
-    legacyLithoViewRule.attachToWindow().measure().layout().setSizeSpecs(10, 10)
+    legacyLithoTestRule.setRoot(mountableComponent).setSizeSpecs(exactly(10), exactly(5))
+    legacyLithoTestRule.attachToWindow().measure().layout().setSizeSpecs(10, 10)
     lithoLifecycleProviderDelegate.moveToVisibilityState(
         LithoVisibilityEventsController.LithoVisibilityState.HINT_VISIBLE)
     assertThat(lifecycleTracker.steps)
@@ -145,24 +145,24 @@ class LithoVisibilityEventsControllerTest {
   fun lithoLifecycleProviderComponentTreeResetVisibilityFlags() {
     // In the new implementation, `setVisibilityHintNonRecursive` is always called in
     // `setLithoView`, so mHasVisibilityHint will be still true after set new Component Tree
-    legacyLithoViewRule.setRoot(component).setSizeSpecs(exactly(10), exactly(5))
-    legacyLithoViewRule.attachToWindow().measure().layout().setSizeSpecs(10, 10)
+    legacyLithoTestRule.setRoot(component).setSizeSpecs(exactly(10), exactly(5))
+    legacyLithoTestRule.attachToWindow().measure().layout().setSizeSpecs(10, 10)
     lithoLifecycleProviderDelegate.moveToVisibilityState(
         LithoVisibilityEventsController.LithoVisibilityState.HINT_INVISIBLE)
     var hasVisibilityHint: Boolean =
-        Whitebox.getInternalState(legacyLithoViewRule.lithoView, "mHasVisibilityHint")
+        Whitebox.getInternalState(legacyLithoTestRule.lithoView, "mHasVisibilityHint")
     var pauseMountingWhileVisibilityHintFalse: Boolean =
         Whitebox.getInternalState(
-            legacyLithoViewRule.lithoView, "mPauseMountingWhileVisibilityHintFalse")
+            legacyLithoTestRule.lithoView, "mPauseMountingWhileVisibilityHintFalse")
     assertThat(hasVisibilityHint).isTrue
     assertThat(pauseMountingWhileVisibilityHintFalse).isTrue
 
-    legacyLithoViewRule.useComponentTree(ComponentTree.create(legacyLithoViewRule.context).build())
+    legacyLithoTestRule.useComponentTree(ComponentTree.create(legacyLithoTestRule.context).build())
     hasVisibilityHint =
-        Whitebox.getInternalState(legacyLithoViewRule.lithoView, "mHasVisibilityHint")
+        Whitebox.getInternalState(legacyLithoTestRule.lithoView, "mHasVisibilityHint")
     pauseMountingWhileVisibilityHintFalse =
         Whitebox.getInternalState(
-            legacyLithoViewRule.lithoView, "mPauseMountingWhileVisibilityHintFalse")
+            legacyLithoTestRule.lithoView, "mPauseMountingWhileVisibilityHintFalse")
     assertThat(hasVisibilityHint).isFalse
     assertThat(pauseMountingWhileVisibilityHintFalse).isFalse
   }
diff --git a/litho-it/src/test/java/com/facebook/litho/MountSpecLifecycleTest.kt b/litho-it/src/test/java/com/facebook/litho/MountSpecLifecycleTest.kt
index ab9cb028ee8..361edc3e5fe 100644
--- a/litho-it/src/test/java/com/facebook/litho/MountSpecLifecycleTest.kt
+++ b/litho-it/src/test/java/com/facebook/litho/MountSpecLifecycleTest.kt
@@ -20,7 +20,7 @@ import com.facebook.litho.LifecycleStep.StepInfo
 import com.facebook.litho.config.ComponentsConfiguration
 import com.facebook.litho.config.PreAllocationHandler
 import com.facebook.litho.testing.LithoStatsRule
-import com.facebook.litho.testing.LithoViewRule
+import com.facebook.litho.testing.LithoTestRule
 import com.facebook.litho.testing.exactly
 import com.facebook.litho.testing.testrunner.LithoTestRunner
 import com.facebook.litho.testing.unspecified
@@ -46,7 +46,7 @@ import org.robolectric.shadows.ShadowLooper
 @RunWith(LithoTestRunner::class)
 class MountSpecLifecycleTest {
 
-  @JvmField @Rule val lithoViewRule: LithoViewRule = LithoViewRule()
+  @JvmField @Rule val lithoViewRule: LithoTestRule = LithoTestRule()
 
   @JvmField @Rule val lithoStatsRule: LithoStatsRule = LithoStatsRule()
 
diff --git a/litho-it/src/test/java/com/facebook/litho/MountSpecTriggerTest.kt b/litho-it/src/test/java/com/facebook/litho/MountSpecTriggerTest.kt
index 4f914061dab..9a1b44a91ca 100644
--- a/litho-it/src/test/java/com/facebook/litho/MountSpecTriggerTest.kt
+++ b/litho-it/src/test/java/com/facebook/litho/MountSpecTriggerTest.kt
@@ -20,7 +20,7 @@ import com.facebook.litho.LifecycleStep.StepInfo
 import com.facebook.litho.sections.SectionContext
 import com.facebook.litho.sections.common.SingleComponentSection
 import com.facebook.litho.sections.widget.RecyclerCollectionComponent
-import com.facebook.litho.testing.LegacyLithoViewRule
+import com.facebook.litho.testing.LegacyLithoTestRule
 import com.facebook.litho.testing.testrunner.LithoTestRunner
 import com.facebook.litho.widget.MountSpecTriggerTester
 import com.facebook.litho.widget.Text
@@ -36,11 +36,11 @@ import org.robolectric.annotation.LooperMode
 @RunWith(LithoTestRunner::class)
 class MountSpecTriggerTest {
 
-  @JvmField @Rule val legacyLithoViewRule: LegacyLithoViewRule = LegacyLithoViewRule()
+  @JvmField @Rule val legacyLithoTestRule: LegacyLithoTestRule = LegacyLithoTestRule()
 
   @Test
   fun mountSpec_setRootAndTriggerEvent_eventIsTriggered() {
-    val componentContext = legacyLithoViewRule.context
+    val componentContext = legacyLithoTestRule.context
     val triggerObjectRef = AtomicReference()
     val triggerHandle = Handle()
     val info: List = ArrayList()
@@ -50,11 +50,11 @@ class MountSpecTriggerTest {
             .triggerObjectRef(triggerObjectRef)
             .handle(triggerHandle)
             .build()
-    legacyLithoViewRule.setRoot(component).idle()
-    legacyLithoViewRule.attachToWindow().measure().layout()
+    legacyLithoTestRule.setRoot(component).idle()
+    legacyLithoTestRule.attachToWindow().measure().layout()
     val bazObject = Any()
     MountSpecTriggerTester.triggerTestEvent(
-        legacyLithoViewRule.componentTree.context, triggerHandle, bazObject)
+        legacyLithoTestRule.componentTree.context, triggerHandle, bazObject)
     assertThat(LifecycleStep.getSteps(info))
         .describedAs("Should call @OnTrigger method")
         .containsExactly(LifecycleStep.ON_TRIGGER)
@@ -65,7 +65,7 @@ class MountSpecTriggerTest {
 
   @Test
   fun mountSpec_setRootAndTriggerEvent_eventIsTriggered_handle_used_in_child() {
-    val componentContext = legacyLithoViewRule.context
+    val componentContext = legacyLithoTestRule.context
     val triggerObjectRef = AtomicReference()
     val triggerHandle = Handle()
     val info: List = ArrayList()
@@ -79,11 +79,11 @@ class MountSpecTriggerTest {
                     .handle(triggerHandle)
                     .build())
             .build()
-    legacyLithoViewRule.setRoot(component)
-    legacyLithoViewRule.attachToWindow().measure().layout()
+    legacyLithoTestRule.setRoot(component)
+    legacyLithoTestRule.attachToWindow().measure().layout()
     val bazObject = Any()
     MountSpecTriggerTester.triggerTestEvent(
-        legacyLithoViewRule.componentTree.context, triggerHandle, bazObject)
+        legacyLithoTestRule.componentTree.context, triggerHandle, bazObject)
     assertThat(LifecycleStep.getSteps(info))
         .describedAs("Should call @OnTrigger method")
         .containsExactly(LifecycleStep.ON_TRIGGER)
@@ -94,7 +94,7 @@ class MountSpecTriggerTest {
 
   @Test
   fun mountSpec_setRootAndTriggerEvent_eventIsTriggered_handle_used_in_nested_tree_root() {
-    val componentContext = legacyLithoViewRule.context
+    val componentContext = legacyLithoTestRule.context
     val triggerObjectRef = AtomicReference()
     val triggerHandle = Handle()
     val info: List = ArrayList()
@@ -113,11 +113,11 @@ class MountSpecTriggerTest {
                                     .handle(triggerHandle)
                                     .build())))
             .build()
-    legacyLithoViewRule.setRoot(component)
-    legacyLithoViewRule.attachToWindow().measure().layout()
+    legacyLithoTestRule.setRoot(component)
+    legacyLithoTestRule.attachToWindow().measure().layout()
     val bazObject = Any()
     MountSpecTriggerTester.triggerTestEvent(
-        legacyLithoViewRule.componentTree.context, triggerHandle, bazObject)
+        legacyLithoTestRule.componentTree.context, triggerHandle, bazObject)
     assertThat(LifecycleStep.getSteps(info))
         .describedAs("Should call @OnTrigger method")
         .containsExactly(LifecycleStep.ON_TRIGGER)
@@ -128,7 +128,7 @@ class MountSpecTriggerTest {
 
   @Test
   fun mountSpec_setRootAndTriggerEvent_eventIsTriggered_handle_used_in_nested_tree_deeper_in_hierarchy() {
-    val componentContext = legacyLithoViewRule.context
+    val componentContext = legacyLithoTestRule.context
     val triggerObjectRef = AtomicReference()
     val triggerHandle = Handle()
     val info: List = ArrayList()
@@ -150,11 +150,11 @@ class MountSpecTriggerTest {
                                             .handle(triggerHandle)
                                             .build()))))
             .build()
-    legacyLithoViewRule.setRoot(component)
-    legacyLithoViewRule.attachToWindow().measure().layout()
+    legacyLithoTestRule.setRoot(component)
+    legacyLithoTestRule.attachToWindow().measure().layout()
     val bazObject = Any()
     MountSpecTriggerTester.triggerTestEvent(
-        legacyLithoViewRule.componentTree.context, triggerHandle, bazObject)
+        legacyLithoTestRule.componentTree.context, triggerHandle, bazObject)
     assertThat(LifecycleStep.getSteps(info))
         .describedAs("Should call @OnTrigger method")
         .containsExactly(LifecycleStep.ON_TRIGGER)
diff --git a/litho-it/src/test/java/com/facebook/litho/MountStateIncrementalMountTest.kt b/litho-it/src/test/java/com/facebook/litho/MountStateIncrementalMountTest.kt
index e6c8a1ff3a1..ff4520705d4 100644
--- a/litho-it/src/test/java/com/facebook/litho/MountStateIncrementalMountTest.kt
+++ b/litho-it/src/test/java/com/facebook/litho/MountStateIncrementalMountTest.kt
@@ -32,7 +32,7 @@ import com.facebook.litho.sections.common.SingleComponentSection
 import com.facebook.litho.sections.widget.ListRecyclerConfiguration
 import com.facebook.litho.sections.widget.RecyclerBinderConfiguration
 import com.facebook.litho.sections.widget.RecyclerCollectionComponent
-import com.facebook.litho.testing.LegacyLithoViewRule
+import com.facebook.litho.testing.LegacyLithoTestRule
 import com.facebook.litho.testing.TestViewComponent
 import com.facebook.litho.testing.ViewGroupWithLithoViewChildren
 import com.facebook.litho.testing.Whitebox
@@ -83,14 +83,14 @@ class MountStateIncrementalMountTest {
 
   @JvmField
   @Rule
-  val legacyLithoViewRule =
-      LegacyLithoViewRule(
+  val legacyLithoTestRule =
+      LegacyLithoTestRule(
           ComponentsConfiguration.defaultInstance.copy(shouldAddHostViewForRootComponent = true))
 
   @Before
   fun setup() {
-    context = legacyLithoViewRule.context
-    legacyLithoViewRule.useLithoView(LithoView(context))
+    context = legacyLithoTestRule.context
+    legacyLithoTestRule.useLithoView(LithoView(context))
     layoutThreadShadowLooper =
         Shadows.shadowOf(
             Whitebox.invokeMethod(ComponentTree::class.java, "getDefaultLayoutThreadLooper")
@@ -173,12 +173,12 @@ class MountStateIncrementalMountTest {
                     .build())
             .wrapInView()
             .build()
-    legacyLithoViewRule.attachToWindow().setSizeSpecs(exactly(100), exactly(100)).measure()
+    legacyLithoTestRule.attachToWindow().setSizeSpecs(exactly(100), exactly(100)).measure()
     val info = ComponentRenderInfo.create().component(root).build()
     val holder =
         ComponentTreeHolder.create(ComponentsConfiguration.defaultInstance).renderInfo(info).build()
     holder.computeLayoutSync(context, exactly(100), exactly(100), Size())
-    val lithoView = legacyLithoViewRule.lithoView
+    val lithoView = legacyLithoTestRule.lithoView
     lithoView.componentTree = holder.componentTree
     lithoView.mountComponent(Rect(0, 0, 100, 30), true)
     assertThat(tracker1.isMounted)
@@ -244,7 +244,7 @@ class MountStateIncrementalMountTest {
                     .child(excludeIMComponent))
             .build()
     val lithoView = LithoView(context)
-    legacyLithoViewRule
+    legacyLithoTestRule
         .useLithoView(lithoView)
         .setRoot(root)
         .attachToWindow()
@@ -294,13 +294,13 @@ class MountStateIncrementalMountTest {
             .child(Wrapper.create(context).delegate(child1).widthPx(10).heightPx(10))
             .child(Wrapper.create(context).delegate(child2).widthPx(10).heightPx(10))
             .build()
-    legacyLithoViewRule
+    legacyLithoTestRule
         .setRoot(root)
         .attachToWindow()
         .setSizeSpecs(exactly(1_000), exactly(1_000))
         .measure()
         .layout()
-    val lithoView = legacyLithoViewRule.lithoView
+    val lithoView = legacyLithoTestRule.lithoView
     lithoView.mountComponent(Rect(0, -10, 10, -5), true)
     assertThat(child1.isMounted).isFalse
     assertThat(child2.isMounted).isFalse
@@ -330,13 +330,13 @@ class MountStateIncrementalMountTest {
             .child(Wrapper.create(context).delegate(child1).widthPx(10).heightPx(10))
             .child(Wrapper.create(context).delegate(child2).widthPx(10).heightPx(10))
             .build()
-    legacyLithoViewRule
+    legacyLithoTestRule
         .setRoot(root)
         .attachToWindow()
         .setSizeSpecs(exactly(1_000), exactly(1_000))
         .measure()
         .layout()
-    val lithoView = legacyLithoViewRule.lithoView
+    val lithoView = legacyLithoTestRule.lithoView
     lithoView.mountComponent(Rect(0, 20, 10, 30), true)
     assertThat(child1.isMounted).isFalse
     assertThat(child2.isMounted).isFalse
@@ -365,13 +365,13 @@ class MountStateIncrementalMountTest {
             .child(Wrapper.create(context).delegate(child2).widthPx(10).heightPx(10))
             .child(Wrapper.create(context).delegate(child3).widthPx(10).heightPx(10))
             .build()
-    legacyLithoViewRule
+    legacyLithoTestRule
         .setRoot(root)
         .attachToWindow()
         .setSizeSpecs(exactly(100), exactly(100))
         .measure()
         .layout()
-    val lithoView = legacyLithoViewRule.lithoView
+    val lithoView = legacyLithoTestRule.lithoView
     lithoView.mountComponent(Rect(0, 10, 10, 30), true)
     assertThat(child1.isMounted).isFalse
     assertThat(child2.isMounted).isTrue
@@ -389,13 +389,13 @@ class MountStateIncrementalMountTest {
             .child(Wrapper.create(context).delegate(child2).widthPx(10).heightPx(10))
             .child(Wrapper.create(context).delegate(child3).widthPx(10).heightPx(10))
             .build()
-    legacyLithoViewRule
+    legacyLithoTestRule
         .setRoot(root)
         .attachToWindow()
         .setSizeSpecs(exactly(100), exactly(100))
         .measure()
         .layout()
-    val lithoView = legacyLithoViewRule.lithoView
+    val lithoView = legacyLithoTestRule.lithoView
     lithoView.mountComponent(Rect(0, 0, 10, 20), true)
     assertThat(child1.isMounted).isTrue
     assertThat(child2.isMounted).isTrue
@@ -413,13 +413,13 @@ class MountStateIncrementalMountTest {
             .child(Wrapper.create(context).delegate(child2).widthPx(10).heightPx(10))
             .child(Wrapper.create(context).delegate(child3).widthPx(10).heightPx(10))
             .build()
-    legacyLithoViewRule
+    legacyLithoTestRule
         .setRoot(root)
         .attachToWindow()
         .setSizeSpecs(exactly(100), exactly(100))
         .measure()
         .layout()
-    val lithoView = legacyLithoViewRule.lithoView
+    val lithoView = legacyLithoTestRule.lithoView
     lithoView.mountComponent(Rect(0, 10, 10, 20), true)
     assertThat(child1.isMounted).isFalse
     assertThat(child2.isMounted).isTrue
@@ -437,13 +437,13 @@ class MountStateIncrementalMountTest {
             .child(Wrapper.create(context).delegate(child2).widthPx(10).heightPx(10))
             .child(Wrapper.create(context).delegate(child3).widthPx(10).heightPx(10))
             .build()
-    legacyLithoViewRule
+    legacyLithoTestRule
         .setRoot(root)
         .attachToWindow()
         .setSizeSpecs(exactly(100), exactly(100))
         .measure()
         .layout()
-    val lithoView = legacyLithoViewRule.lithoView
+    val lithoView = legacyLithoTestRule.lithoView
     lithoView.mountComponent(Rect(0, 0, 0, 0), true)
     assertThat(child1.isMounted).isFalse
     assertThat(child2.isMounted).isFalse
@@ -461,13 +461,13 @@ class MountStateIncrementalMountTest {
             .child(Wrapper.create(context).delegate(child2).widthPx(10).heightPx(0))
             .child(Wrapper.create(context).delegate(child3).widthPx(10).heightPx(10))
             .build()
-    legacyLithoViewRule
+    legacyLithoTestRule
         .setRoot(root)
         .attachToWindow()
         .setSizeSpecs(exactly(100), exactly(100))
         .measure()
         .layout()
-    val lithoView = legacyLithoViewRule.lithoView
+    val lithoView = legacyLithoTestRule.lithoView
     lithoView.mountComponent(Rect(0, 0, 10, 30), true)
     assertThat(child1.isMounted).isTrue
     assertThat(child2.isMounted).isTrue
@@ -481,13 +481,13 @@ class MountStateIncrementalMountTest {
         Column.create(context)
             .child(Wrapper.create(context).delegate(child1).widthPx(10).heightPx(0))
             .build()
-    legacyLithoViewRule
+    legacyLithoTestRule
         .setRoot(root)
         .attachToWindow()
         .setSizeSpecs(exactly(100), exactly(100))
         .measure()
         .layout()
-    val lithoView = legacyLithoViewRule.lithoView
+    val lithoView = legacyLithoTestRule.lithoView
     lithoView.mountComponent(Rect(0, 0, 10, 0), true)
     assertThat(child1.isMounted).isFalse
   }
@@ -504,13 +504,13 @@ class MountStateIncrementalMountTest {
             .child(Wrapper.create(context).delegate(child1).widthPx(10).heightPx(10))
             .child(Wrapper.create(context).delegate(child2).widthPx(10).heightPx(10))
             .build()
-    legacyLithoViewRule
+    legacyLithoTestRule
         .setRoot(root)
         .attachToWindow()
         .setSizeSpecs(exactly(1_000), exactly(1_000))
         .measure()
         .layout()
-    val lithoView = legacyLithoViewRule.lithoView
+    val lithoView = legacyLithoTestRule.lithoView
     lithoView.mountComponent(Rect(-10, 0, -5, 10), true)
     assertThat(child1.isMounted).isFalse
     assertThat(child2.isMounted).isFalse
@@ -544,13 +544,13 @@ class MountStateIncrementalMountTest {
             .child(Wrapper.create(context).delegate(child1).widthPx(10).heightPx(10))
             .child(Wrapper.create(context).delegate(child2).widthPx(10).heightPx(10))
             .build()
-    legacyLithoViewRule
+    legacyLithoTestRule
         .setRoot(root)
         .attachToWindow()
         .setSizeSpecs(exactly(1_000), exactly(1_000))
         .measure()
         .layout()
-    val lithoView = legacyLithoViewRule.lithoView
+    val lithoView = legacyLithoTestRule.lithoView
     lithoView.mountComponent(Rect(0, -10, 10, -5), true)
     assertThat(lifecycleTracker1.isMounted).isFalse
     assertThat(lifecycleTracker2.isMounted).isFalse
@@ -582,13 +582,13 @@ class MountStateIncrementalMountTest {
             .child(Wrapper.create(context).delegate(child).widthPx(10).heightPx(10))
             .child(SimpleMountSpecTester.create(context))
             .build()
-    legacyLithoViewRule
+    legacyLithoTestRule
         .setRoot(root)
         .attachToWindow()
         .setSizeSpecs(exactly(1_000), exactly(1_000))
         .measure()
         .layout()
-    val lithoView = legacyLithoViewRule.lithoView
+    val lithoView = legacyLithoTestRule.lithoView
     lithoView.mountComponent(Rect(0, 0, 50, 20), true)
     assertThat(child.isMounted).isFalse
     lithoView.mountComponent(Rect(0, 0, 50, 40), true)
@@ -607,13 +607,13 @@ class MountStateIncrementalMountTest {
     val parent = FrameLayout(context.androidContext)
     parent.measure(exactly(10), exactly(1_000))
     parent.layout(0, 0, 10, 1_000)
-    legacyLithoViewRule
+    legacyLithoTestRule
         .setRoot(Row.create(context).build())
         .attachToWindow()
         .setSizeSpecs(exactly(10), exactly(100))
         .measure()
         .layout()
-    val lithoView = legacyLithoViewRule.lithoView
+    val lithoView = legacyLithoTestRule.lithoView
     parent.addView(lithoView)
     lithoView.translationY = 105f
     val eventHandler: EventHandler = mock()
@@ -644,13 +644,13 @@ class MountStateIncrementalMountTest {
     val parent = FrameLayout(context.androidContext)
     parent.measure(exactly(10), exactly(1_000))
     parent.layout(0, 0, 10, 1_000)
-    legacyLithoViewRule
+    legacyLithoTestRule
         .setRoot(Row.create(context).build())
         .attachToWindow()
         .setSizeSpecs(exactly(10), exactly(100))
         .measure()
         .layout()
-    val lithoView = legacyLithoViewRule.lithoView
+    val lithoView = legacyLithoTestRule.lithoView
     parent.addView(lithoView)
     lithoView.translationY = 105f
     val eventHandler: EventHandler = mock()
@@ -692,13 +692,13 @@ class MountStateIncrementalMountTest {
     val parent = FrameLayout(context.androidContext)
     parent.measure(exactly(10), exactly(1_000))
     parent.layout(0, 0, 10, 1_000)
-    legacyLithoViewRule
+    legacyLithoTestRule
         .setRoot(Row.create(context).build())
         .attachToWindow()
         .setSizeSpecs(exactly(10), exactly(100))
         .measure()
         .layout()
-    val lithoView = legacyLithoViewRule.lithoView
+    val lithoView = legacyLithoTestRule.lithoView
     parent.addView(lithoView)
     lithoView.translationY = 95f
     val eventHandler1: EventHandler = mock()
@@ -779,13 +779,13 @@ class MountStateIncrementalMountTest {
                     .heightPx(10))
             .child(SimpleMountSpecTester.create(context))
             .build()
-    legacyLithoViewRule
+    legacyLithoTestRule
         .setRoot(root)
         .attachToWindow()
         .setSizeSpecs(exactly(1_000), exactly(1_000))
         .measure()
         .layout()
-    val lithoView = legacyLithoViewRule.lithoView
+    val lithoView = legacyLithoTestRule.lithoView
     lithoView.mountComponent(Rect(0, 0, 5, 5), true)
     assertThat(child1.isMounted).isTrue
     assertThat(child2.isMounted).isFalse
@@ -811,13 +811,13 @@ class MountStateIncrementalMountTest {
     val childView3 = getMockLithoViewWithBounds(Rect(30, 35, 50, 60))
     whenever(mountedView.getChildAt(2)).thenReturn(childView3)
     val root = TestViewComponent.create(context).testView(mountedView).build()
-    legacyLithoViewRule
+    legacyLithoTestRule
         .setRoot(root)
         .attachToWindow()
         .setSizeSpecs(exactly(1_000), exactly(1_000))
         .measure()
         .layout()
-    val lithoView = legacyLithoViewRule.lithoView
+    val lithoView = legacyLithoTestRule.lithoView
     verify(childView1).notifyVisibleBoundsChanged()
     verify(childView2).notifyVisibleBoundsChanged()
     verify(childView3).notifyVisibleBoundsChanged()
@@ -850,13 +850,13 @@ class MountStateIncrementalMountTest {
     val childView3 = getMockLithoViewWithBounds(Rect(30, 35, 50, 60))
     whenever(mountedView.getChildAt(2)).thenReturn(childView3)
     val root = TestViewComponent.create(context).testView(mountedView).build()
-    legacyLithoViewRule
+    legacyLithoTestRule
         .setRoot(root)
         .attachToWindow()
         .setSizeSpecs(exactly(1_000), exactly(1_000))
         .measure()
         .layout()
-    val lithoView = legacyLithoViewRule.lithoView
+    val lithoView = legacyLithoTestRule.lithoView
 
     // Can't verify directly as the object will have changed by the time we get the chance to
     // verify it.
@@ -910,13 +910,13 @@ class MountStateIncrementalMountTest {
         Column.create(context)
             .child(Wrapper.create(context).delegate(child1).widthPx(10).heightPx(10))
             .build()
-    legacyLithoViewRule
+    legacyLithoTestRule
         .setRoot(root)
         .attachToWindow()
         .setSizeSpecs(exactly(1_000), exactly(1_000))
         .measure()
         .layout()
-    val lithoView = legacyLithoViewRule.lithoView
+    val lithoView = legacyLithoTestRule.lithoView
     lithoView.mountComponent(Rect(0, -10, 10, -5), true)
     assertThat(child1.isMounted).isFalse
     assertThat(child1.wasOnUnbindCalled()).isTrue
@@ -949,13 +949,13 @@ class MountStateIncrementalMountTest {
             .child(Wrapper.create(context).delegate(child1).widthPx(10).heightPx(10))
             .child(Wrapper.create(context).delegate(child2).widthPx(10).heightPx(10))
             .build()
-    legacyLithoViewRule
+    legacyLithoTestRule
         .setRoot(root)
         .attachToWindow()
         .setSizeSpecs(exactly(1_000), exactly(1_000))
         .measure()
         .layout()
-    val lithoView = legacyLithoViewRule.lithoView
+    val lithoView = legacyLithoTestRule.lithoView
     lithoView.mountComponent(Rect(0, -10, 10, -5), true)
     assertThat(lifecycleTracker1.isMounted).isFalse
     assertThat(lifecycleTracker2.isMounted).isFalse
@@ -986,13 +986,13 @@ class MountStateIncrementalMountTest {
             .child(Wrapper.create(context).delegate(child1).widthPx(10).heightPx(10))
             .child(Wrapper.create(context).delegate(child2).widthPx(10).heightPx(10))
             .build()
-    legacyLithoViewRule
+    legacyLithoTestRule
         .setRoot(root)
         .attachToWindow()
         .setSizeSpecs(exactly(1_000), exactly(1_000))
         .measure()
         .layout()
-    val lithoView = legacyLithoViewRule.lithoView
+    val lithoView = legacyLithoTestRule.lithoView
     assertThat(lithoView.mountStateNeedsRemount()).isFalse
     lithoView.unmountAllItems()
     assertThat(lithoView.mountStateNeedsRemount()).isTrue
@@ -1004,13 +1004,13 @@ class MountStateIncrementalMountTest {
   fun testRootViewAttributes_incrementalMountAfterUnmount_setViewAttributes() {
     enableAccessibility()
     val root = Text.create(context).text("Test").contentDescription("testcd").build()
-    legacyLithoViewRule
+    legacyLithoTestRule
         .setRoot(root)
         .attachToWindow()
         .setSizeSpecs(exactly(1_000), exactly(1_000))
         .measure()
         .layout()
-    val lithoView = legacyLithoViewRule.lithoView
+    val lithoView = legacyLithoTestRule.lithoView
     var innerView = lithoView.getChildAt(0)
     assertThat(innerView.contentDescription).isEqualTo("testcd")
     lithoView.unmountAllItems()
@@ -1032,13 +1032,13 @@ class MountStateIncrementalMountTest {
     val viewGroup = ViewGroupWithLithoViewChildren(context.androidContext)
     viewGroup.addView(lithoView)
     val root = TestViewComponent.create(context, true, true, true).testView(viewGroup).build()
-    legacyLithoViewRule
+    legacyLithoTestRule
         .setRoot(root)
         .attachToWindow()
         .setSizeSpecs(exactly(1_000), exactly(1_000))
         .measure()
         .layout()
-    val lithoViewParent = legacyLithoViewRule.lithoView
+    val lithoViewParent = legacyLithoTestRule.lithoView
     verify(lithoView).notifyVisibleBoundsChanged()
     reset(lithoView)
 
@@ -1065,25 +1065,25 @@ class MountStateIncrementalMountTest {
     val info_child2 = LifecycleTracker()
     val stateUpdater = SimpleStateUpdateEmulatorSpec.Caller()
     val root =
-        Column.create(legacyLithoViewRule.context)
+        Column.create(legacyLithoTestRule.context)
             .child(
-                MountSpecLifecycleTester.create(legacyLithoViewRule.context)
+                MountSpecLifecycleTester.create(legacyLithoTestRule.context)
                     .intrinsicSize(Size(10, 10))
                     .lifecycleTracker(info_child1)
                     .key("some_key"))
             .child(
-                MountSpecLifecycleTester.create(legacyLithoViewRule.context)
+                MountSpecLifecycleTester.create(legacyLithoTestRule.context)
                     .intrinsicSize(Size(10, 10))
                     .lifecycleTracker(info_child2)
                     .key("other_key"))
             .child(
-                SimpleStateUpdateEmulator.create(legacyLithoViewRule.context).caller(stateUpdater))
+                SimpleStateUpdateEmulator.create(legacyLithoTestRule.context).caller(stateUpdater))
             .build()
-    legacyLithoViewRule.setRoot(root).setSizePx(10, 40).attachToWindow().measure().layout()
+    legacyLithoTestRule.setRoot(root).setSizePx(10, 40).attachToWindow().measure().layout()
     val parent = FrameLayout(context.androidContext)
     parent.measure(exactly(100), exactly(100))
     parent.layout(0, 0, 10, 40)
-    parent.addView(legacyLithoViewRule.lithoView, 0, 40)
+    parent.addView(legacyLithoTestRule.lithoView, 0, 40)
     val scrollView = ScrollView(context.androidContext)
     scrollView.measure(exactly(10), exactly(20))
     scrollView.layout(0, 0, 10, 20)
@@ -1094,7 +1094,7 @@ class MountStateIncrementalMountTest {
     info_child1.reset()
     info_child2.reset()
     scrollView.scrollBy(0, 12)
-    legacyLithoViewRule.dispatchGlobalLayout()
+    legacyLithoTestRule.dispatchGlobalLayout()
     assertThat(info_child1.steps).describedAs("Mounted.").contains(LifecycleStep.ON_UNMOUNT)
   }
 
@@ -1104,31 +1104,31 @@ class MountStateIncrementalMountTest {
     val info_child2 = LifecycleTracker()
     val stateUpdater = SimpleStateUpdateEmulatorSpec.Caller()
     val root =
-        Column.create(legacyLithoViewRule.context)
+        Column.create(legacyLithoTestRule.context)
             .child(
-                MountSpecLifecycleTester.create(legacyLithoViewRule.context)
+                MountSpecLifecycleTester.create(legacyLithoTestRule.context)
                     .intrinsicSize(Size(10, 10))
                     .lifecycleTracker(info_child1)
                     .key("some_key"))
             .child(
-                MountSpecLifecycleTester.create(legacyLithoViewRule.context)
+                MountSpecLifecycleTester.create(legacyLithoTestRule.context)
                     .intrinsicSize(Size(10, 10))
                     .lifecycleTracker(info_child2)
                     .key("other_key"))
             .child(
-                SimpleStateUpdateEmulator.create(legacyLithoViewRule.context).caller(stateUpdater))
+                SimpleStateUpdateEmulator.create(legacyLithoTestRule.context).caller(stateUpdater))
             .build()
-    legacyLithoViewRule.setRoot(root).setSizePx(10, 20).attachToWindow().measure().layout()
+    legacyLithoTestRule.setRoot(root).setSizePx(10, 20).attachToWindow().measure().layout()
     val parent = FrameLayout(context.androidContext)
     parent.measure(exactly(100), exactly(100))
     parent.layout(0, 0, 10, 20)
-    parent.addView(legacyLithoViewRule.lithoView, 0, 20)
+    parent.addView(legacyLithoTestRule.lithoView, 0, 20)
     assertThat(info_child1.steps).describedAs("Mounted.").contains(LifecycleStep.ON_MOUNT)
     assertThat(info_child2.steps).describedAs("Mounted.").contains(LifecycleStep.ON_MOUNT)
     stateUpdater.increment()
     info_child1.reset()
     info_child2.reset()
-    legacyLithoViewRule.lithoView.translationY = -12f
+    legacyLithoTestRule.lithoView.translationY = -12f
     assertThat(info_child1.steps).describedAs("Mounted.").contains(LifecycleStep.ON_UNMOUNT)
   }
 
@@ -1155,13 +1155,13 @@ class MountStateIncrementalMountTest {
                     .widthPx(10)
                     .heightPx(10))
             .build()
-    legacyLithoViewRule
+    legacyLithoTestRule
         .setRoot(root)
         .attachToWindow()
         .setSizeSpecs(exactly(10), exactly(20))
         .measure()
         .layout()
-    val lithoView = legacyLithoViewRule.lithoView
+    val lithoView = legacyLithoTestRule.lithoView
     lithoView.mountComponent(Rect(0, 0, 10, 5), true)
     assertThat(child2.isMounted).isFalse
     child1.dispatchedEventHandlers.clear()
@@ -1195,13 +1195,13 @@ class MountStateIncrementalMountTest {
                     .widthPx(10)
                     .heightPx(10))
             .build()
-    legacyLithoViewRule
+    legacyLithoTestRule
         .setRoot(root)
         .attachToWindow()
         .setSizeSpecs(exactly(10), exactly(100))
         .measure()
         .layout()
-    val lithoView = legacyLithoViewRule.lithoView
+    val lithoView = legacyLithoTestRule.lithoView
     assertThat(child1.dispatchedEventHandlers).contains(visibleEventHandler1)
     lithoView.setVisibilityHint(false, true)
     val child2 = TestViewComponent.create(context).build()
@@ -1262,7 +1262,7 @@ class MountStateIncrementalMountTest {
             .section(
                 SingleComponentSection.create(SectionContext(context)).component(root1).build())
             .build()
-    legacyLithoViewRule
+    legacyLithoTestRule
         .setRoot(rcc)
         .attachToWindow()
         .setSizeSpecs(exactly(10), exactly(19))
@@ -1296,9 +1296,9 @@ class MountStateIncrementalMountTest {
                     .sticky(true)
                     .build())
             .build()
-    legacyLithoViewRule.setRoot(rcc2)
+    legacyLithoTestRule.setRoot(rcc2)
     runToEndOfTasks()
-    legacyLithoViewRule.dispatchGlobalLayout()
+    legacyLithoTestRule.dispatchGlobalLayout()
     assertThat(lifecycleTracker2.steps).contains(LifecycleStep.ON_UNMOUNT)
   }
 
@@ -1341,7 +1341,7 @@ class MountStateIncrementalMountTest {
             .build()
 
     // Set LithoView with height so that it can fully show exactly 3 items (3 children per item).
-    legacyLithoViewRule
+    legacyLithoTestRule
         .setRoot(rcc)
         .attachToWindow()
         .setSizeSpecs(exactly(100), exactly(CHILD_HEIGHT * 9))
@@ -1350,7 +1350,7 @@ class MountStateIncrementalMountTest {
 
     // Obtain the RV for scrolling later
     val recyclerView =
-        (legacyLithoViewRule.lithoView.getChildAt(0) as SectionsRecyclerView).recyclerView
+        (legacyLithoTestRule.lithoView.getChildAt(0) as SectionsRecyclerView).recyclerView
 
     // All 3 children are visible 3 times, so we should see ON_MOUNT being called 3 times
     // for each child
diff --git a/litho-it/src/test/java/com/facebook/litho/MountStateIncrementalMountWithTransitionsTest.kt b/litho-it/src/test/java/com/facebook/litho/MountStateIncrementalMountWithTransitionsTest.kt
index 979ca870afe..b6cbf90e990 100644
--- a/litho-it/src/test/java/com/facebook/litho/MountStateIncrementalMountWithTransitionsTest.kt
+++ b/litho-it/src/test/java/com/facebook/litho/MountStateIncrementalMountWithTransitionsTest.kt
@@ -23,7 +23,7 @@ import com.facebook.litho.sections.common.TestSingleComponentListSection
 import com.facebook.litho.sections.widget.ListRecyclerConfiguration
 import com.facebook.litho.sections.widget.RecyclerBinderConfiguration
 import com.facebook.litho.sections.widget.RecyclerCollectionComponent
-import com.facebook.litho.testing.LegacyLithoViewRule
+import com.facebook.litho.testing.LegacyLithoTestRule
 import com.facebook.litho.testing.TransitionTestRule
 import com.facebook.litho.testing.exactly
 import com.facebook.litho.testing.testrunner.LithoTestRunner
@@ -44,7 +44,7 @@ import org.robolectric.annotation.LooperMode
 @RunWith(LithoTestRunner::class)
 class MountStateIncrementalMountWithTransitionsTest {
 
-  @JvmField @Rule val legacyLithoViewRule: LegacyLithoViewRule = LegacyLithoViewRule()
+  @JvmField @Rule val legacyLithoTestRule: LegacyLithoTestRule = LegacyLithoTestRule()
   @JvmField @Rule val transitionTestRule: TransitionTestRule = TransitionTestRule()
 
   private val stateCaller = StateCaller()
@@ -59,17 +59,17 @@ class MountStateIncrementalMountWithTransitionsTest {
     trackers.add(lifecycleTracker2)
     trackers.add(lifecycleTracker3)
     val root = getPartiallyVisibleRootWithAnimatingComponents(trackers)
-    legacyLithoViewRule.setRoot(root).setSizeSpecs(exactly(1_040), exactly(60))
-    legacyLithoViewRule.attachToWindow().measure().layout()
+    legacyLithoTestRule.setRoot(root).setSizeSpecs(exactly(1_040), exactly(60))
+    legacyLithoTestRule.attachToWindow().measure().layout()
     val lithoViews: List = ArrayList()
-    val sectionsRecyclerView = legacyLithoViewRule.lithoView.getChildAt(0) as SectionsRecyclerView
+    val sectionsRecyclerView = legacyLithoTestRule.lithoView.getChildAt(0) as SectionsRecyclerView
     sectionsRecyclerView.obtainLithoViewChildren(lithoViews)
 
     // grab the 2nd litho-view in the list (0 = sticky header, 1 = 1st litho view)
     val animatingLithoView = lithoViews[2]
     animatingLithoView.onAttachedToWindowForTest()
     stateCaller.update()
-    legacyLithoViewRule.idle()
+    legacyLithoTestRule.idle()
     assertThat(lifecycleTracker1.steps).contains(LifecycleStep.ON_MOUNT)
     assertThat(lifecycleTracker2.steps).contains(LifecycleStep.ON_MOUNT)
     assertThat(lifecycleTracker3.steps).contains(LifecycleStep.ON_MOUNT)
@@ -99,19 +99,19 @@ class MountStateIncrementalMountWithTransitionsTest {
     val lifecycleTracker0 = LifecycleTracker()
     val lifecycleTracker1 = LifecycleTracker()
     val component0 =
-        MountSpecLifecycleTester.create(legacyLithoViewRule.context)
+        MountSpecLifecycleTester.create(legacyLithoTestRule.context)
             .lifecycleTracker(lifecycleTracker0)
             .intrinsicSize(Size(10, 40))
             .build()
     val animatingComponents: MutableList = ArrayList()
     animatingComponents.add(
-        MountSpecLifecycleTester.create(legacyLithoViewRule.context)
+        MountSpecLifecycleTester.create(legacyLithoTestRule.context)
             .lifecycleTracker(lifecycleTracker1)
             .intrinsicSize(Size(40, 40))
             .widthPx(40)
             .heightPx(40)
             .build())
-    val sectionContext = SectionContext(legacyLithoViewRule.context)
+    val sectionContext = SectionContext(legacyLithoTestRule.context)
     val binderConfig =
         RecyclerBinderConfiguration.create()
             .recyclerBinderConfig(
@@ -123,7 +123,7 @@ class MountStateIncrementalMountWithTransitionsTest {
             .recyclerBinderConfiguration(binderConfig)
             .build()
     val childOfAnimatingComponent =
-        RecyclerCollectionComponent.create(legacyLithoViewRule.context)
+        RecyclerCollectionComponent.create(legacyLithoTestRule.context)
             .widthPx(40)
             .heightPx(40)
             .section(
@@ -167,12 +167,12 @@ class MountStateIncrementalMountWithTransitionsTest {
                     .animate(AnimatedProperties.X))) { state ->
               requireNotNull(partiallyVisibleAnimatingComponent.getComponent(context, state))
             }
-    legacyLithoViewRule.setRoot(root).setSizeSpecs(exactly(40), exactly(80))
-    legacyLithoViewRule.attachToWindow().measure().layout()
+    legacyLithoTestRule.setRoot(root).setSizeSpecs(exactly(40), exactly(80))
+    legacyLithoTestRule.attachToWindow().measure().layout()
     assertThat(lifecycleTracker0.isMounted).isTrue
     assertThat(lifecycleTracker1.isMounted).isFalse
     stateCaller.update()
-    legacyLithoViewRule.idle()
+    legacyLithoTestRule.idle()
     assertThat(lifecycleTracker1.isMounted).isTrue
   }
 
@@ -182,7 +182,7 @@ class MountStateIncrementalMountWithTransitionsTest {
     val animatingComponents: MutableList = ArrayList()
     for (tracker in animatingComponentTrackers) {
       animatingComponents.add(
-          MountSpecLifecycleTester.create(legacyLithoViewRule.context)
+          MountSpecLifecycleTester.create(legacyLithoTestRule.context)
               .lifecycleTracker(tracker)
               .intrinsicSize(Size(40, 40))
               .build())
@@ -222,13 +222,13 @@ class MountStateIncrementalMountWithTransitionsTest {
         }
     val data: MutableList = ArrayList()
     data.add(
-        Row.create(legacyLithoViewRule.context)
+        Row.create(legacyLithoTestRule.context)
             .heightDip(40f)
             .widthDip(40f)
             .backgroundColor(Color.parseColor("#ee1111"))
             .build())
     data.add(component)
-    val sectionContext = SectionContext(legacyLithoViewRule.context)
+    val sectionContext = SectionContext(legacyLithoTestRule.context)
     val binderConfig =
         RecyclerBinderConfiguration.create()
             .recyclerBinderConfig(
@@ -237,7 +237,7 @@ class MountStateIncrementalMountWithTransitionsTest {
     val config =
         ListRecyclerConfiguration.create().recyclerBinderConfiguration(binderConfig).build()
     val root =
-        RecyclerCollectionComponent.create(legacyLithoViewRule.context)
+        RecyclerCollectionComponent.create(legacyLithoTestRule.context)
             .section(TestSingleComponentListSection.create(sectionContext).data(data).build())
             .recyclerConfiguration(config)
             .build()
diff --git a/litho-it/src/test/java/com/facebook/litho/MountStateMountTest.kt b/litho-it/src/test/java/com/facebook/litho/MountStateMountTest.kt
index 70115df5e76..639be7490c2 100644
--- a/litho-it/src/test/java/com/facebook/litho/MountStateMountTest.kt
+++ b/litho-it/src/test/java/com/facebook/litho/MountStateMountTest.kt
@@ -16,7 +16,7 @@
 
 package com.facebook.litho
 
-import com.facebook.litho.testing.LegacyLithoViewRule
+import com.facebook.litho.testing.LegacyLithoTestRule
 import com.facebook.litho.testing.testrunner.LithoTestRunner
 import com.facebook.litho.widget.CardHeaderComponent
 import org.assertj.core.api.Assertions.assertThat
@@ -28,22 +28,22 @@ import org.junit.runner.RunWith
 @RunWith(LithoTestRunner::class)
 class MountStateMountTest {
 
-  @JvmField @Rule val legacyLithoViewRule: LegacyLithoViewRule = LegacyLithoViewRule()
+  @JvmField @Rule val legacyLithoTestRule: LegacyLithoTestRule = LegacyLithoTestRule()
   private lateinit var context: ComponentContext
 
   @Before
   fun setup() {
-    context = legacyLithoViewRule.context
+    context = legacyLithoTestRule.context
   }
 
   @Test
   fun unmountAll_mountStateNeedsRemount() {
     val root =
         Column.create(context).child(CardHeaderComponent.create(context).title("Title")).build()
-    legacyLithoViewRule.setRoot(root).attachToWindow().measure().layout()
-    val mountDelegateTarget = legacyLithoViewRule.lithoView.mountDelegateTarget
+    legacyLithoTestRule.setRoot(root).attachToWindow().measure().layout()
+    val mountDelegateTarget = legacyLithoTestRule.lithoView.mountDelegateTarget
     assertThat(mountDelegateTarget.needsRemount()).isFalse
-    legacyLithoViewRule.lithoView.unmountAllItems()
+    legacyLithoTestRule.lithoView.unmountAllItems()
     assertThat(mountDelegateTarget.needsRemount()).isTrue
   }
 }
diff --git a/litho-it/src/test/java/com/facebook/litho/MountStateRemountInPlaceTest.kt b/litho-it/src/test/java/com/facebook/litho/MountStateRemountInPlaceTest.kt
index a38eef830d2..8d6b899bd52 100644
--- a/litho-it/src/test/java/com/facebook/litho/MountStateRemountInPlaceTest.kt
+++ b/litho-it/src/test/java/com/facebook/litho/MountStateRemountInPlaceTest.kt
@@ -20,7 +20,7 @@ import android.content.Context
 import android.content.res.Configuration
 import android.graphics.Color
 import androidx.test.core.app.ApplicationProvider
-import com.facebook.litho.testing.LithoViewRule
+import com.facebook.litho.testing.LithoTestRule
 import com.facebook.litho.testing.TestDrawableComponent
 import com.facebook.litho.testing.atMost
 import com.facebook.litho.testing.exactly
@@ -38,7 +38,7 @@ import org.mockito.kotlin.spy
 @RunWith(LithoTestRunner::class)
 class MountStateRemountInPlaceTest {
 
-  @JvmField @Rule val lithoViewRule = LithoViewRule()
+  @JvmField @Rule val lithoViewRule = LithoTestRule()
   private lateinit var context: ComponentContext
 
   @Before
diff --git a/litho-it/src/test/java/com/facebook/litho/MountStateRemountTest.kt b/litho-it/src/test/java/com/facebook/litho/MountStateRemountTest.kt
index fd3b3f8c3de..e1f1aed37d9 100644
--- a/litho-it/src/test/java/com/facebook/litho/MountStateRemountTest.kt
+++ b/litho-it/src/test/java/com/facebook/litho/MountStateRemountTest.kt
@@ -22,7 +22,7 @@ import android.view.ViewGroup
 import androidx.test.core.app.ApplicationProvider
 import com.facebook.litho.config.ComponentsConfiguration
 import com.facebook.litho.drawable.ComparableDrawable
-import com.facebook.litho.testing.LegacyLithoViewRule
+import com.facebook.litho.testing.LegacyLithoTestRule
 import com.facebook.litho.testing.TestDrawableComponent
 import com.facebook.litho.testing.TestViewComponent
 import com.facebook.litho.testing.exactly
@@ -47,7 +47,7 @@ class MountStateRemountTest {
 
   private lateinit var context: ComponentContext
 
-  @JvmField @Rule val legacyLithoViewRule = LegacyLithoViewRule(config)
+  @JvmField @Rule val legacyLithoTestRule = LegacyLithoTestRule(config)
 
   @Before
   fun setup() {
@@ -71,7 +71,7 @@ class MountStateRemountTest {
     val component2 = TestDrawableComponent.create(context).build()
     val component3 = TestDrawableComponent.create(context).build()
     val component4 = TestDrawableComponent.create(context).build()
-    legacyLithoViewRule
+    legacyLithoTestRule
         .setRoot(
             Column.create(context)
                 .widthPx(100)
@@ -84,7 +84,7 @@ class MountStateRemountTest {
         .attachToWindow()
     assertThat(component1.isMounted).isTrue
     assertThat(component2.isMounted).isTrue
-    legacyLithoViewRule.setRoot(
+    legacyLithoTestRule.setRoot(
         Column.create(context)
             .widthPx(100)
             .heightPx(100)
@@ -95,7 +95,7 @@ class MountStateRemountTest {
     assertThat(component2.isMounted).isTrue
     assertThat(component3.isMounted).isFalse
     assertThat(component4.isMounted).isFalse
-    val mountDelegateTarget = legacyLithoViewRule.lithoView.mountDelegateTarget
+    val mountDelegateTarget = legacyLithoTestRule.lithoView.mountDelegateTarget
     val components: MutableList = ArrayList()
     for (i in 0 until mountDelegateTarget.getMountItemCount()) {
       mountDelegateTarget.getMountItemAt(i)?.let { mountItem ->
@@ -115,15 +115,15 @@ class MountStateRemountTest {
    */
   @Test
   fun testRemountDifferentMountType() {
-    legacyLithoViewRule
+    legacyLithoTestRule
         .setRoot(TestViewComponent.create(context).build())
         .setSizeSpecs(exactly(10), exactly(5))
-    legacyLithoViewRule.attachToWindow().measure().layout().setSizeSpecs(10, 10)
-    assertThat(legacyLithoViewRule.lithoView.childCount).isEqualTo(1)
-    legacyLithoViewRule
+    legacyLithoTestRule.attachToWindow().measure().layout().setSizeSpecs(10, 10)
+    assertThat(legacyLithoTestRule.lithoView.childCount).isEqualTo(1)
+    legacyLithoTestRule
         .setRoot(TestDrawableComponent.create(context).build())
         .setSizeSpecs(exactly(10), exactly(5))
-    assertThat(legacyLithoViewRule.lithoView.drawables[0]).isNotNull
+    assertThat(legacyLithoTestRule.lithoView.drawables[0]).isNotNull
   }
 
   @Test
@@ -171,7 +171,7 @@ class MountStateRemountTest {
     val component2 = TestDrawableComponent.create(context).build()
     val component3 = TestDrawableComponent.create(context).build()
     val component4 = TestDrawableComponent.create(context).build()
-    legacyLithoViewRule
+    legacyLithoTestRule
         .setRoot(
             Column.create(context)
                 .widthPx(100)
@@ -184,7 +184,7 @@ class MountStateRemountTest {
         .attachToWindow()
     assertThat(component1.isMounted).isTrue
     assertThat(component2.isMounted).isTrue
-    legacyLithoViewRule.setRoot(
+    legacyLithoTestRule.setRoot(
         Column.create(context)
             .widthPx(100)
             .heightPx(100)
diff --git a/litho-it/src/test/java/com/facebook/litho/MountStateTest.kt b/litho-it/src/test/java/com/facebook/litho/MountStateTest.kt
index 654682df388..ffc7ba16e2a 100644
--- a/litho-it/src/test/java/com/facebook/litho/MountStateTest.kt
+++ b/litho-it/src/test/java/com/facebook/litho/MountStateTest.kt
@@ -20,7 +20,7 @@ import android.graphics.Color
 import android.graphics.drawable.ColorDrawable
 import com.facebook.litho.config.ComponentsConfiguration
 import com.facebook.litho.config.TempComponentsConfigurations
-import com.facebook.litho.testing.LegacyLithoViewRule
+import com.facebook.litho.testing.LegacyLithoTestRule
 import com.facebook.litho.testing.Whitebox
 import com.facebook.litho.testing.exactly
 import com.facebook.litho.testing.testrunner.LithoTestRunner
@@ -43,12 +43,12 @@ import org.junit.runner.RunWith
 @RunWith(LithoTestRunner::class)
 class MountStateTest {
 
-  @JvmField @Rule val legacyLithoViewRule: LegacyLithoViewRule = LegacyLithoViewRule()
+  @JvmField @Rule val legacyLithoTestRule: LegacyLithoTestRule = LegacyLithoTestRule()
   private lateinit var context: ComponentContext
 
   @Before
   fun setup() {
-    context = legacyLithoViewRule.context
+    context = legacyLithoTestRule.context
   }
 
   @Test
@@ -58,16 +58,16 @@ class MountStateTest {
         Column.create(context)
             .child(Wrapper.create(context).delegate(child1).widthPx(10).heightPx(10))
             .build()
-    legacyLithoViewRule
+    legacyLithoTestRule
         .setRoot(root)
         .attachToWindow()
         .setSizeSpecs(exactly(1_000), exactly(1_000))
         .measure()
         .layout()
-    val dynamicPropsManager = legacyLithoViewRule.lithoView.dynamicPropsManager
+    val dynamicPropsManager = legacyLithoTestRule.lithoView.dynamicPropsManager
     assertThat(dynamicPropsManager).isNotNull
     assertThat(dynamicPropsManager?.hasCachedContent(child1)).isTrue
-    legacyLithoViewRule.detachFromWindow()
+    legacyLithoTestRule.detachFromWindow()
     assertThat(dynamicPropsManager?.hasCachedContent(child1)).isFalse
   }
 
@@ -78,15 +78,15 @@ class MountStateTest {
         Column.create(context)
             .child(Wrapper.create(context).delegate(child1).widthPx(10).heightPx(10))
             .build()
-    legacyLithoViewRule
+    legacyLithoTestRule
         .setRoot(root)
         .attachToWindow()
         .setSizeSpecs(exactly(1_000), exactly(1_000))
         .measure()
         .layout()
-    val dynamicPropsManager = legacyLithoViewRule.lithoView.dynamicPropsManager
+    val dynamicPropsManager = legacyLithoTestRule.lithoView.dynamicPropsManager
     assertThat(dynamicPropsManager?.hasCachedContent(child1)).isTrue
-    legacyLithoViewRule.setRoot(Column.create(context).build())
+    legacyLithoTestRule.setRoot(Column.create(context).build())
     assertThat(dynamicPropsManager?.hasCachedContent(child1)).isFalse
   }
 
@@ -96,14 +96,14 @@ class MountStateTest {
         Wrapper.create(context)
             .delegate(SolidColor.create(context).color(Color.BLACK).build())
             .build()
-    legacyLithoViewRule
+    legacyLithoTestRule
         .setRoot(root)
         .attachToWindow()
         .setSizeSpecs(exactly(1_000), exactly(1_000))
         .measure()
         .layout()
     val emptyRoot: Component = Wrapper.create(context).delegate(null).build()
-    legacyLithoViewRule.setRoot(emptyRoot)
+    legacyLithoTestRule.setRoot(emptyRoot)
   }
 
   @Test
@@ -112,19 +112,19 @@ class MountStateTest {
         Column.create(context)
             .child(TextInput.create(context).widthDip(100f).heightDip(100f))
             .build()
-    legacyLithoViewRule
+    legacyLithoTestRule
         .setRoot(root)
         .attachToWindow()
         .setSizeSpecs(exactly(1_000), exactly(1_000))
         .measure()
         .layout()
-    val view = legacyLithoViewRule.lithoView.getChildAt(0)
+    val view = legacyLithoTestRule.lithoView.getChildAt(0)
     val newRoot =
         Row.create(context)
             .child(TextInput.create(context).initialText("testing").widthDip(120f).heightDip(120f))
             .build()
-    legacyLithoViewRule.setRoot(newRoot).setSizeSpecs(exactly(1_000), exactly(1_000))
-    val newView = legacyLithoViewRule.lithoView.getChildAt(0)
+    legacyLithoTestRule.setRoot(newRoot).setSizeSpecs(exactly(1_000), exactly(1_000))
+    val newView = legacyLithoTestRule.lithoView.getChildAt(0)
     assertThat(newView).isSameAs(view)
   }
 
@@ -134,7 +134,7 @@ class MountStateTest {
         Column.create(context)
             .child(TextInput.create(context).widthDip(100f).heightDip(100f))
             .build()
-    legacyLithoViewRule
+    legacyLithoTestRule
         .setRoot(root)
         .attachToWindow()
         .setSizeSpecs(exactly(1_000), exactly(1_000))
@@ -144,20 +144,20 @@ class MountStateTest {
         Column.create(context)
             .child(Progress.create(context).widthDip(100f).heightDip(100f))
             .build()
-    legacyLithoViewRule.setRoot(newRoot).setSizeSpecs(exactly(1_000), exactly(1_000))
+    legacyLithoTestRule.setRoot(newRoot).setSizeSpecs(exactly(1_000), exactly(1_000))
   }
 
   @Test
   fun onSetRootWithNullComponentWithStatelessness_shouldMountWithoutCrashing() {
-    legacyLithoViewRule
+    legacyLithoTestRule
         .attachToWindow()
         .setRoot(EmptyComponent())
         .setSizeSpecs(exactly(1_000), exactly(1_000))
         .measure()
         .layout()
-    assertThat(legacyLithoViewRule.currentRootNode).isNull()
-    assertThat(legacyLithoViewRule.lithoView.childCount).isEqualTo(0)
-    val tree = legacyLithoViewRule.committedLayoutState?.toRenderTree()
+    assertThat(legacyLithoTestRule.currentRootNode).isNull()
+    assertThat(legacyLithoTestRule.lithoView.childCount).isEqualTo(0)
+    val tree = legacyLithoTestRule.committedLayoutState?.toRenderTree()
     assertThat(tree?.mountableOutputCount).isEqualTo(1)
     assertThat(tree?.root).isSameAs(tree?.getRenderTreeNodeAtIndex(0))
     assertThat(tree?.getRenderTreeNodeIndex(MountState.ROOT_HOST_ID)).isEqualTo(0)
@@ -183,7 +183,7 @@ class MountStateTest {
                             .color(YogaEdge.ALL, Color.YELLOW)
                             .build()))
             .build()
-    legacyLithoViewRule
+    legacyLithoTestRule
         .useComponentTree(
             ComponentTree.create(context)
                 .componentsConfiguration(
@@ -195,17 +195,17 @@ class MountStateTest {
         .setSizeSpecs(exactly(1_000), exactly(1_000))
         .measure()
         .layout()
-    val parentOfParent = legacyLithoViewRule.findViewWithTagOrNull("root") as ComponentHost
+    val parentOfParent = legacyLithoTestRule.findViewWithTagOrNull("root") as ComponentHost
     val parentNode = parentOfParent.getMountItemAt(0).renderTreeNode
     val parentId = parentNode.renderUnit.id
     val childId = parentNode.getChildAt(0).renderUnit.id
 
     // Unmount the parent
-    legacyLithoViewRule.lithoView.mountDelegateTarget.notifyUnmount(parentId)
+    legacyLithoTestRule.lithoView.mountDelegateTarget.notifyUnmount(parentId)
 
     // Attempt to mount the child (border drawable)
     // If there is a problem, a crash will occur here.
-    legacyLithoViewRule.lithoView.mountDelegateTarget.notifyMount(childId)
+    legacyLithoTestRule.lithoView.mountDelegateTarget.notifyMount(childId)
     TempComponentsConfigurations.restoreShouldAddHostViewForRootComponent()
   }
 
@@ -217,13 +217,13 @@ class MountStateTest {
             .child(
                 Image.create(context).drawable(ColorDrawable(Color.RED)).heightPx(100).widthPx(200))
             .build()
-    legacyLithoViewRule
+    legacyLithoTestRule
         .attachToWindow()
         .setRoot(root)
         .setSizeSpecs(exactly(1_000), exactly(1_000))
         .measure()
         .layout()
-    val lithoView = legacyLithoViewRule.lithoView
+    val lithoView = legacyLithoTestRule.lithoView
     val mountDelegate = lithoView.mountDelegateTarget.getMountDelegate()
     var coordinator =
         Whitebox.getInternalState(
@@ -235,7 +235,7 @@ class MountStateTest {
     assertThat(mountDelegate?.extensionStates).isNotEmpty
 
     // Unmount the parent
-    legacyLithoViewRule.lithoView.unmountAllItems()
+    legacyLithoTestRule.lithoView.unmountAllItems()
     coordinator =
         Whitebox.getInternalState(
             lithoView, "mLithoHostListenerCoordinator")
@@ -253,7 +253,7 @@ class MountStateTest {
    */
   @Test
   fun whenItemsAreMovedThenUnmountedInTheNextMountLoop_shouldUnmountTheCorrectItem() {
-    val c = legacyLithoViewRule.context
+    val c = legacyLithoTestRule.context
     val initialComponent =
         Column.create(c)
             .heightPx(800)
diff --git a/litho-it/src/test/java/com/facebook/litho/MountStateViewClickTest.kt b/litho-it/src/test/java/com/facebook/litho/MountStateViewClickTest.kt
index 689f3a4b7db..85cbfab8a11 100644
--- a/litho-it/src/test/java/com/facebook/litho/MountStateViewClickTest.kt
+++ b/litho-it/src/test/java/com/facebook/litho/MountStateViewClickTest.kt
@@ -19,7 +19,7 @@ package com.facebook.litho
 import android.content.Context
 import androidx.test.core.app.ApplicationProvider
 import com.facebook.litho.config.TempComponentsConfigurations
-import com.facebook.litho.testing.LithoViewRule
+import com.facebook.litho.testing.LithoTestRule
 import com.facebook.litho.testing.eventhandler.EventHandlerTestHelper
 import com.facebook.litho.testing.helper.ComponentTestHelper
 import com.facebook.litho.testing.inlinelayoutspec.InlineLayoutSpec
@@ -40,7 +40,7 @@ class MountStateViewClickTest {
   private lateinit var context: ComponentContext
   private lateinit var componentTree: ComponentTree
 
-  @JvmField @Rule val lithoViewRule = LithoViewRule()
+  @JvmField @Rule val lithoViewRule = LithoTestRule()
 
   @Before
   fun setup() {
diff --git a/litho-it/src/test/java/com/facebook/litho/MountStateViewTest.kt b/litho-it/src/test/java/com/facebook/litho/MountStateViewTest.kt
index 26a9c21de83..e86a436b195 100644
--- a/litho-it/src/test/java/com/facebook/litho/MountStateViewTest.kt
+++ b/litho-it/src/test/java/com/facebook/litho/MountStateViewTest.kt
@@ -24,7 +24,7 @@ import android.view.ContextThemeWrapper
 import androidx.test.core.app.ApplicationProvider
 import com.facebook.litho.config.TempComponentsConfigurations
 import com.facebook.litho.it.R
-import com.facebook.litho.testing.LegacyLithoViewRule
+import com.facebook.litho.testing.LegacyLithoTestRule
 import com.facebook.litho.testing.TestViewComponent
 import com.facebook.litho.testing.ViewGroupWithLithoViewChildren
 import com.facebook.litho.testing.inlinelayoutspec.InlineLayoutSpec
@@ -43,12 +43,12 @@ import org.junit.runner.RunWith
 @RunWith(LithoTestRunner::class)
 class MountStateViewTest {
 
-  @JvmField @Rule val legacyLithoViewRule: LegacyLithoViewRule = LegacyLithoViewRule()
+  @JvmField @Rule val legacyLithoTestRule: LegacyLithoTestRule = LegacyLithoTestRule()
   private lateinit var context: ComponentContext
 
   @Before
   fun setup() {
-    context = legacyLithoViewRule.context
+    context = legacyLithoTestRule.context
   }
 
   @Test
@@ -67,9 +67,9 @@ class MountStateViewTest {
                           .backgroundColor(color))
                   .build()
         }
-    legacyLithoViewRule.setRoot(component)
-    legacyLithoViewRule.attachToWindow().measure().layout()
-    val lithoView = legacyLithoViewRule.lithoView
+    legacyLithoTestRule.setRoot(component)
+    legacyLithoTestRule.attachToWindow().measure().layout()
+    val lithoView = legacyLithoTestRule.lithoView
     val child = lithoView.getChildAt(0)
     val background = child.background
     assertThat(child.paddingLeft).isEqualTo(5)
@@ -88,9 +88,9 @@ class MountStateViewTest {
                 ApplicationProvider.getApplicationContext(),
                 R.style.TestTheme_BackgroundWithPadding))
     val component = TextInput.create(c).paddingPx(YogaEdge.ALL, 9).build()
-    legacyLithoViewRule.useContext(c)
-    legacyLithoViewRule.attachToWindow().setRoot(component).measure().layout()
-    val lithoView = legacyLithoViewRule.lithoView
+    legacyLithoTestRule.useContext(c)
+    legacyLithoTestRule.attachToWindow().setRoot(component).measure().layout()
+    val lithoView = legacyLithoTestRule.lithoView
     val child = lithoView.getChildAt(0)
     assertThat(child.paddingLeft).isEqualTo(9)
     assertThat(child.paddingTop).isEqualTo(9)
@@ -106,9 +106,9 @@ class MountStateViewTest {
                 ApplicationProvider.getApplicationContext(),
                 R.style.TestTheme_BackgroundWithPadding))
     val component = TextInput.create(c).paddingPx(YogaEdge.LEFT, 12).build()
-    legacyLithoViewRule.useContext(c)
-    legacyLithoViewRule.attachToWindow().setRoot(component).measure().layout()
-    val lithoView = legacyLithoViewRule.lithoView
+    legacyLithoTestRule.useContext(c)
+    legacyLithoTestRule.attachToWindow().setRoot(component).measure().layout()
+    val lithoView = legacyLithoTestRule.lithoView
     val child = lithoView.getChildAt(0)
     assertThat(child.paddingLeft).isEqualTo(12)
     assertThat(child.paddingTop).isZero
@@ -128,14 +128,14 @@ class MountStateViewTest {
                   .child(Wrapper.create(c).delegate(testComponent).widthPx(10).heightPx(10))
                   .build()
         }
-    legacyLithoViewRule.setRoot(mountedTestComponent).attachToWindow().measure().layout()
+    legacyLithoTestRule.setRoot(mountedTestComponent).attachToWindow().measure().layout()
     assertThat(lifecycleTracker.isMounted).isTrue
     val viewGroup = ViewGroupWithLithoViewChildren(context.androidContext)
-    val child = legacyLithoViewRule.lithoView
+    val child = legacyLithoTestRule.lithoView
     viewGroup.addView(child)
-    legacyLithoViewRule.setRoot(TestViewComponent.create(context).testView(viewGroup).build())
+    legacyLithoTestRule.setRoot(TestViewComponent.create(context).testView(viewGroup).build())
     assertThat(lifecycleTracker.isMounted).isTrue
-    legacyLithoViewRule.lithoView.unmountAllItems()
+    legacyLithoTestRule.lithoView.unmountAllItems()
     assertThat(lifecycleTracker.isMounted).isFalse
   }
 
@@ -153,9 +153,9 @@ class MountStateViewTest {
                     .paddingPx(YogaEdge.ALL, 10)
                     .marginPx(YogaEdge.ALL, 10))
             .build()
-    legacyLithoViewRule.setRoot(component)
-    legacyLithoViewRule.attachToWindow().measure().layout()
-    val root = legacyLithoViewRule.lithoView
+    legacyLithoTestRule.setRoot(component)
+    legacyLithoTestRule.attachToWindow().measure().layout()
+    val root = legacyLithoTestRule.lithoView
     val view = root.getChildAt(0)
     val viewBounds = root.getMountItemAt(0).renderTreeNode.getAbsoluteBounds(Rect())
     assertThat(view.width).isEqualTo(viewBounds.width())
@@ -180,11 +180,11 @@ class MountStateViewTest {
             .backgroundRes(R.drawable.background_with_padding)
             .child(Text.create(context).text("hello world").textSizeSp(20f))
             .build()
-    legacyLithoViewRule.attachToWindow().setRoot(component).measure().layout()
-    assertThat(legacyLithoViewRule.lithoView.paddingTop).isEqualTo(0)
-    assertThat(legacyLithoViewRule.lithoView.paddingRight).isEqualTo(0)
-    assertThat(legacyLithoViewRule.lithoView.paddingBottom).isEqualTo(0)
-    assertThat(legacyLithoViewRule.lithoView.paddingLeft).isEqualTo(0)
+    legacyLithoTestRule.attachToWindow().setRoot(component).measure().layout()
+    assertThat(legacyLithoTestRule.lithoView.paddingTop).isEqualTo(0)
+    assertThat(legacyLithoTestRule.lithoView.paddingRight).isEqualTo(0)
+    assertThat(legacyLithoTestRule.lithoView.paddingBottom).isEqualTo(0)
+    assertThat(legacyLithoTestRule.lithoView.paddingLeft).isEqualTo(0)
     TempComponentsConfigurations.restoreShouldAddHostViewForRootComponent()
   }
 }
diff --git a/litho-it/src/test/java/com/facebook/litho/NestedComponentStateUpdatesWithReconciliationTest.kt b/litho-it/src/test/java/com/facebook/litho/NestedComponentStateUpdatesWithReconciliationTest.kt
index 3d1fc5caa7b..cb426e585e7 100644
--- a/litho-it/src/test/java/com/facebook/litho/NestedComponentStateUpdatesWithReconciliationTest.kt
+++ b/litho-it/src/test/java/com/facebook/litho/NestedComponentStateUpdatesWithReconciliationTest.kt
@@ -18,7 +18,7 @@ package com.facebook.litho
 
 import com.facebook.litho.kotlin.widget.Text
 import com.facebook.litho.testing.BackgroundLayoutLooperRule
-import com.facebook.litho.testing.LegacyLithoViewRule
+import com.facebook.litho.testing.LegacyLithoTestRule
 import com.facebook.litho.testing.assertj.LithoViewAssert.Companion.assertThat
 import com.facebook.litho.testing.testrunner.LithoTestRunner
 import com.facebook.litho.view.onClick
@@ -36,7 +36,7 @@ import org.robolectric.shadows.ShadowLooper
 class NestedComponentStateUpdatesWithReconciliationTest() {
 
   @JvmField @Rule var backgroundLayoutLooperRule = BackgroundLayoutLooperRule()
-  @JvmField @Rule var lithoViewRule = LegacyLithoViewRule()
+  @JvmField @Rule var lithoViewRule = LegacyLithoTestRule()
 
   /*
 
diff --git a/litho-it/src/test/java/com/facebook/litho/NestedTreeResolutionTest.kt b/litho-it/src/test/java/com/facebook/litho/NestedTreeResolutionTest.kt
index 11aa5e09dea..39414833c59 100644
--- a/litho-it/src/test/java/com/facebook/litho/NestedTreeResolutionTest.kt
+++ b/litho-it/src/test/java/com/facebook/litho/NestedTreeResolutionTest.kt
@@ -20,7 +20,7 @@ import com.facebook.litho.LifecycleStep.StepInfo
 import com.facebook.litho.YogaLayoutOutput.Companion.getYogaNode
 import com.facebook.litho.config.ComponentsConfiguration
 import com.facebook.litho.stateupdates.ComponentWithMeasureCall
-import com.facebook.litho.testing.LegacyLithoViewRule
+import com.facebook.litho.testing.LegacyLithoTestRule
 import com.facebook.litho.testing.exactly
 import com.facebook.litho.testing.helper.ComponentTestHelper
 import com.facebook.litho.testing.testrunner.LithoTestRunner
@@ -45,7 +45,7 @@ import org.robolectric.annotation.LooperMode
 @LooperMode(LooperMode.Mode.LEGACY)
 class NestedTreeResolutionTest {
 
-  @JvmField @Rule val legacyLithoViewRule = LegacyLithoViewRule()
+  @JvmField @Rule val legacyLithoTestRule = LegacyLithoTestRule()
 
   @Before
   fun before() {
@@ -54,13 +54,13 @@ class NestedTreeResolutionTest {
 
   @Test
   fun onRenderComponentWithSizeSpec_shouldContainNestTreeHolderAndNestedProps() {
-    val c = legacyLithoViewRule.context
+    val c = legacyLithoTestRule.context
     val component = RootComponentWithTreeProps.create(c).build()
-    legacyLithoViewRule.attachToWindow().setSizePx(100, 100).measure().setRoot(component).layout()
+    legacyLithoTestRule.attachToWindow().setSizePx(100, 100).measure().setRoot(component).layout()
 
     // At the end of layout calculation, the render & layout context container should be null
     assertThat(c.calculationStateContext).isNull()
-    val root = legacyLithoViewRule.currentRootNode
+    val root = legacyLithoTestRule.currentRootNode
     assertThat(root).isNotNull
     assertThat(root?.getChildAt(1)).isInstanceOf(NestedTreeHolderResult::class.java)
     val holder = root?.getChildAt(1) as NestedTreeHolderResult
@@ -71,18 +71,18 @@ class NestedTreeResolutionTest {
 
   @Test
   fun onRenderComponentWithSizeSpecWithoutReuse_shouldCallOnCreateLayoutTwice() {
-    val c = legacyLithoViewRule.context
+    val c = legacyLithoTestRule.context
     val component = RootComponentWithTreeProps.create(c).shouldNotUpdateState(true).build()
     val props = ExtraProps()
     props.steps = ArrayList()
-    legacyLithoViewRule
+    legacyLithoTestRule
         .setTreeProp(ExtraProps::class.java, props)
         .attachToWindow()
         .setSizePx(100, 100)
         .measure()
         .setRoot(component)
         .layout()
-    val root = legacyLithoViewRule.currentRootNode
+    val root = legacyLithoTestRule.currentRootNode
     assertThat(root).isNotNull
     assertThat(root?.getChildAt(1)).isInstanceOf(NestedTreeHolderResult::class.java)
     assertThat(props.steps)
@@ -93,19 +93,19 @@ class NestedTreeResolutionTest {
 
   @Test
   fun onRenderComponentWithSizeSpec_shouldNotTransferLayoutDirectionIfExplicitlySet() {
-    val c = legacyLithoViewRule.context
+    val c = legacyLithoTestRule.context
     val component = RootComponentWithTreeProps.create(c).shouldNotUpdateState(true).build()
     val props = ExtraProps()
     props.steps = ArrayList()
     props.mDirection = YogaDirection.RTL
-    legacyLithoViewRule
+    legacyLithoTestRule
         .setTreeProp(ExtraProps::class.java, props)
         .attachToWindow()
         .setSizePx(100, 100)
         .measure()
         .setRoot(component)
         .layout()
-    val root = legacyLithoViewRule.currentRootNode
+    val root = legacyLithoTestRule.currentRootNode
     assertThat(root).isNotNull
     assertThat(root?.getChildAt(1)).isInstanceOf(NestedTreeHolderResult::class.java)
     val holder = root?.getChildAt(1) as NestedTreeHolderResult
@@ -115,7 +115,7 @@ class NestedTreeResolutionTest {
 
   @Test
   fun onRenderComponentWithSizeSpec_shouldTransferLayoutDirectionIfNotExplicitlySet() {
-    val c = legacyLithoViewRule.context
+    val c = legacyLithoTestRule.context
     val component =
         RootComponentWithTreeProps.create(c)
             .shouldNotUpdateState(true)
@@ -123,14 +123,14 @@ class NestedTreeResolutionTest {
             .build()
     val props = ExtraProps()
     props.steps = ArrayList()
-    legacyLithoViewRule
+    legacyLithoTestRule
         .setTreeProp(ExtraProps::class.java, props)
         .attachToWindow()
         .setSizePx(100, 100)
         .measure()
         .setRoot(component)
         .layout()
-    val root = legacyLithoViewRule.currentRootNode
+    val root = legacyLithoTestRule.currentRootNode
     assertThat(root).isNotNull
     assertThat(root?.getChildAt(1)).isInstanceOf(NestedTreeHolderResult::class.java)
     val holder = root?.getChildAt(1) as NestedTreeHolderResult
@@ -140,7 +140,7 @@ class NestedTreeResolutionTest {
 
   @Test
   fun onReRenderComponentWithSizeSpec_shouldLeverageLayoutDiffing() {
-    val c = legacyLithoViewRule.context
+    val c = legacyLithoTestRule.context
     val info0: MutableList = ArrayList()
     val tracker0 = LifecycleTracker()
     val mountable0 = MountSpecPureRenderLifecycleTester.create(c).lifecycleTracker(tracker0).build()
@@ -150,7 +150,7 @@ class NestedTreeResolutionTest {
             .child(LayoutWithSizeSpecLifecycleTester.create(c).steps(info0).body(mountable0))
             .child(Text.create(c).text("Hello World"))
             .build()
-    legacyLithoViewRule.setRoot(root0).attachToWindow().measure().layout()
+    legacyLithoTestRule.setRoot(root0).attachToWindow().measure().layout()
     assertThat(LifecycleStep.getSteps(info0))
         .describedAs("Should call the lifecycle methods in expected order")
         .containsExactly(
@@ -188,7 +188,7 @@ class NestedTreeResolutionTest {
             .child(LayoutWithSizeSpecLifecycleTester.create(c).steps(info1).body(mountable1))
             .child(Text.create(c).text("Hello World"))
             .build()
-    legacyLithoViewRule.setRoot(root1)
+    legacyLithoTestRule.setRoot(root1)
     assertThat(LifecycleStep.getSteps(info0))
         .describedAs("Should not call any lifecycle methods.")
         .isEmpty()
@@ -217,7 +217,7 @@ class NestedTreeResolutionTest {
 
   @Test
   fun onReRenderComponentWithSizeSpecInsideComponentWithSizeSpec_shouldLeverageLayoutDiffing() {
-    val c = legacyLithoViewRule.context
+    val c = legacyLithoTestRule.context
     val info0: MutableList = ArrayList()
     val tracker0 = LifecycleTracker()
     val info0_nested: MutableList = ArrayList()
@@ -231,7 +231,7 @@ class NestedTreeResolutionTest {
                 LayoutWithSizeSpecLifecycleTester.create(c).steps(info0).body(layoutWithSizeSpec))
             .child(Text.create(c).text("Hello World"))
             .build()
-    legacyLithoViewRule.setRoot(root0).attachToWindow().measure().layout()
+    legacyLithoTestRule.setRoot(root0).attachToWindow().measure().layout()
     assertThat(LifecycleStep.getSteps(info0))
         .describedAs("Should call the lifecycle methods in expected order")
         .containsExactly(
@@ -280,7 +280,7 @@ class NestedTreeResolutionTest {
                 LayoutWithSizeSpecLifecycleTester.create(c).steps(info1).body(layoutWithSizeSpec1))
             .child(Text.create(c).text("Hello World"))
             .build()
-    legacyLithoViewRule.setRoot(root1)
+    legacyLithoTestRule.setRoot(root1)
     assertThat(LifecycleStep.getSteps(info0))
         .describedAs("Should not call any lifecycle methods.")
         .isEmpty()
@@ -314,12 +314,12 @@ class NestedTreeResolutionTest {
 
   @Test
   fun onReRenderSimpleComponentWithSizeSpec_shouldLeverageLayoutDiffing() {
-    val c = legacyLithoViewRule.context
+    val c = legacyLithoTestRule.context
     val info0: MutableList = ArrayList()
     val tracker0 = LifecycleTracker()
     val mountable0 = MountSpecPureRenderLifecycleTester.create(c).lifecycleTracker(tracker0).build()
     val root0 = LayoutWithSizeSpecLifecycleTester.create(c).steps(info0).body(mountable0).build()
-    legacyLithoViewRule.setRoot(root0).attachToWindow().measure().layout()
+    legacyLithoTestRule.setRoot(root0).attachToWindow().measure().layout()
     assertThat(LifecycleStep.getSteps(info0))
         .describedAs("Should call the lifecycle methods in expected order")
         .containsExactly(
@@ -347,7 +347,7 @@ class NestedTreeResolutionTest {
             .shouldUpdate(false)
             .build()
     val root1 = LayoutWithSizeSpecLifecycleTester.create(c).steps(info1).body(mountable1).build()
-    legacyLithoViewRule.setRoot(root1)
+    legacyLithoTestRule.setRoot(root1)
     assertThat(LifecycleStep.getSteps(info0))
         .describedAs("Should not call any lifecycle methods.")
         .isEmpty()
@@ -377,7 +377,7 @@ class NestedTreeResolutionTest {
             .shouldUpdate(true)
             .build()
     val root2 = LayoutWithSizeSpecLifecycleTester.create(c).steps(info2).body(mountable2).build()
-    legacyLithoViewRule.setRoot(root2)
+    legacyLithoTestRule.setRoot(root2)
     assertThat(LifecycleStep.getSteps(info1))
         .describedAs("Should not call any lifecycle methods.")
         .isEmpty()
@@ -405,7 +405,7 @@ class NestedTreeResolutionTest {
 
   @Test
   fun onReRenderSimpleComponentWithSizeSpecInsideComponentWithSizeSpec_shouldLeverageLayoutDiffing() {
-    val c = legacyLithoViewRule.context
+    val c = legacyLithoTestRule.context
     val info0: MutableList = ArrayList()
     val info0_nested: MutableList = ArrayList()
     val tracker0 = LifecycleTracker()
@@ -414,7 +414,7 @@ class NestedTreeResolutionTest {
         LayoutWithSizeSpecLifecycleTester.create(c).steps(info0_nested).body(mountable0).build()
     val root0 =
         LayoutWithSizeSpecLifecycleTester.create(c).steps(info0).body(layoutWithSizeSpec0).build()
-    legacyLithoViewRule.setRoot(root0).attachToWindow().measure().layout()
+    legacyLithoTestRule.setRoot(root0).attachToWindow().measure().layout()
     assertThat(LifecycleStep.getSteps(info0))
         .describedAs("Should call the lifecycle methods in expected order")
         .containsExactly(
@@ -451,7 +451,7 @@ class NestedTreeResolutionTest {
         LayoutWithSizeSpecLifecycleTester.create(c).steps(info1_nested).body(mountable1).build()
     val root1 =
         LayoutWithSizeSpecLifecycleTester.create(c).steps(info1).body(layoutWithSizeSpec1).build()
-    legacyLithoViewRule.setRoot(root1)
+    legacyLithoTestRule.setRoot(root1)
     assertThat(LifecycleStep.getSteps(info0))
         .describedAs("Should not call any lifecycle methods.")
         .isEmpty()
@@ -492,7 +492,7 @@ class NestedTreeResolutionTest {
         LayoutWithSizeSpecLifecycleTester.create(c).steps(info2nested).body(mountable2).build()
     val root2 =
         LayoutWithSizeSpecLifecycleTester.create(c).steps(info2).body(layoutWithSizeSpec2).build()
-    legacyLithoViewRule.setRoot(root2)
+    legacyLithoTestRule.setRoot(root2)
     assertThat(LifecycleStep.getSteps(info1))
         .describedAs("Should not call any lifecycle methods.")
         .isEmpty()
@@ -526,17 +526,17 @@ class NestedTreeResolutionTest {
 
   @Test
   fun LayoutWithSizeSpecUsingMeasureAPIShouldMountCorrectly() {
-    val c = legacyLithoViewRule.context
+    val c = legacyLithoTestRule.context
     val text_component = Text.create(c).text("sample_text").build()
     val root =
         ComponentWithSizeSpecWithMeasureCall.create(c)
             .component(text_component)
             .shouldCacheResult(true)
             .build()
-    legacyLithoViewRule.setRoot(root)
-    legacyLithoViewRule.attachToWindow().measure().layout()
+    legacyLithoTestRule.setRoot(root)
+    legacyLithoTestRule.attachToWindow().measure().layout()
     ComponentTestHelper.mountComponent(c, root)
-    assertThat(legacyLithoViewRule.findViewWithText("sample_text")).isNotNull
+    assertThat(legacyLithoTestRule.findViewWithText("sample_text")).isNotNull
   }
 
   /*
@@ -550,7 +550,7 @@ class NestedTreeResolutionTest {
   */
   @Test
   fun measureLayoutUsingMeasureApiInRenderWithDifferentSizeSpecs() {
-    val c = legacyLithoViewRule.context
+    val c = legacyLithoTestRule.context
     val stepsInfo: List = ArrayList()
     val mountableLifecycleTracker = LifecycleTracker()
     val widthSpec = exactly(500)
@@ -560,9 +560,9 @@ class NestedTreeResolutionTest {
             c, stepsInfo, mountableLifecycleTracker, widthSpec, heightSpec)
     val lithoViewWidthSpec = exactly(300)
     val lithoViewHeightSpec = exactly(300)
-    legacyLithoViewRule.setRoot(root)
-    legacyLithoViewRule.setSizeSpecs(lithoViewWidthSpec, lithoViewHeightSpec)
-    legacyLithoViewRule.attachToWindow().measure().layout()
+    legacyLithoTestRule.setRoot(root)
+    legacyLithoTestRule.setSizeSpecs(lithoViewWidthSpec, lithoViewHeightSpec)
+    legacyLithoTestRule.attachToWindow().measure().layout()
     val steps = LifecycleStep.getSteps(stepsInfo)
 
     // Notice OCL is called only once even if size specs are not compatible because OCL is not
@@ -604,7 +604,7 @@ class NestedTreeResolutionTest {
   */
   @Test
   fun measureLayoutUsingMeasureApiInRenderWithCompatibleSizeSpecs() {
-    val c = legacyLithoViewRule.context
+    val c = legacyLithoTestRule.context
     val stepsInfo: List = ArrayList()
     val mountableLifecycleTracker = LifecycleTracker()
     val widthSpec = exactly(500)
@@ -614,9 +614,9 @@ class NestedTreeResolutionTest {
             c, stepsInfo, mountableLifecycleTracker, widthSpec, heightSpec)
     val lithoViewWidthSpec = exactly(500)
     val lithoViewHeightSpec = exactly(500)
-    legacyLithoViewRule.setRoot(root)
-    legacyLithoViewRule.setSizeSpecs(lithoViewWidthSpec, lithoViewHeightSpec)
-    legacyLithoViewRule.attachToWindow().measure().layout()
+    legacyLithoTestRule.setRoot(root)
+    legacyLithoTestRule.setSizeSpecs(lithoViewWidthSpec, lithoViewHeightSpec)
+    legacyLithoTestRule.attachToWindow().measure().layout()
     val steps = LifecycleStep.getSteps(stepsInfo)
     assertThat(steps)
         .containsExactly(
@@ -656,7 +656,7 @@ class NestedTreeResolutionTest {
   */
   @Test
   fun measureLayoutWithSizeSpecAsRootUsingMeasureApiInRenderWithDifferentSizeSpecs() {
-    val c = legacyLithoViewRule.context
+    val c = legacyLithoTestRule.context
     val layoutWithSizeSpecStepsInfo: List = ArrayList()
     val mountableLifecycleTracker = LifecycleTracker()
     val widthSpec = exactly(500)
@@ -666,9 +666,9 @@ class NestedTreeResolutionTest {
             c, layoutWithSizeSpecStepsInfo, mountableLifecycleTracker, widthSpec, heightSpec)
     val lithoViewWidthSpec = exactly(300)
     val lithoViewHeightSpec = exactly(300)
-    legacyLithoViewRule.setRoot(root)
-    legacyLithoViewRule.setSizeSpecs(lithoViewWidthSpec, lithoViewHeightSpec)
-    legacyLithoViewRule.attachToWindow().measure().layout()
+    legacyLithoTestRule.setRoot(root)
+    legacyLithoTestRule.setSizeSpecs(lithoViewWidthSpec, lithoViewHeightSpec)
+    legacyLithoTestRule.attachToWindow().measure().layout()
     val layoutWithSizeSpecSteps = LifecycleStep.getSteps(layoutWithSizeSpecStepsInfo)
     assertThat(layoutWithSizeSpecSteps)
         .containsExactly(
@@ -705,7 +705,7 @@ class NestedTreeResolutionTest {
   */
   @Test
   fun measureLayoutWithSizeSpecAsRootUsingMeasureApiInRenderWithCompatibleSizeSpecs() {
-    val c = legacyLithoViewRule.context
+    val c = legacyLithoTestRule.context
     val layoutWithSizeSpecStepsInfo: List = ArrayList()
     val mountableLifecycleTracker = LifecycleTracker()
     val widthSpec = exactly(500)
@@ -713,9 +713,9 @@ class NestedTreeResolutionTest {
     val root =
         createComponentMeasuringLayoutWithSizeSpecAsRoot(
             c, layoutWithSizeSpecStepsInfo, mountableLifecycleTracker, widthSpec, heightSpec)
-    legacyLithoViewRule.setRoot(root)
-    legacyLithoViewRule.setSizeSpecs(widthSpec, heightSpec)
-    legacyLithoViewRule.attachToWindow().measure().layout()
+    legacyLithoTestRule.setRoot(root)
+    legacyLithoTestRule.setSizeSpecs(widthSpec, heightSpec)
+    legacyLithoTestRule.attachToWindow().measure().layout()
     val layoutWithSizeSpecSteps = LifecycleStep.getSteps(layoutWithSizeSpecStepsInfo)
 
     // Width and height specs are same, cache is reused and we don't see second OCLWSS call
@@ -752,7 +752,7 @@ class NestedTreeResolutionTest {
   */
   @Test
   fun measureLayoutWithSizeSpecAsChildUsingMeasureApiInRenderWithDifferentSizeSpecs() {
-    val c = legacyLithoViewRule.context
+    val c = legacyLithoTestRule.context
     val stepsInfo: List = ArrayList()
     val layoutWithSizeSpecStepsInfo: List = ArrayList()
     val mountableLifecycleTracker = LifecycleTracker()
@@ -768,9 +768,9 @@ class NestedTreeResolutionTest {
             heightSpec)
     val lithoViewWidthSpec = exactly(300)
     val lithoViewHeightSpec = exactly(300)
-    legacyLithoViewRule.setRoot(root)
-    legacyLithoViewRule.setSizeSpecs(lithoViewWidthSpec, lithoViewHeightSpec)
-    legacyLithoViewRule.attachToWindow().measure().layout()
+    legacyLithoTestRule.setRoot(root)
+    legacyLithoTestRule.setSizeSpecs(lithoViewWidthSpec, lithoViewHeightSpec)
+    legacyLithoTestRule.attachToWindow().measure().layout()
     val layoutWithSizeSpecSteps = LifecycleStep.getSteps(layoutWithSizeSpecStepsInfo)
     val steps = LifecycleStep.getSteps(stepsInfo)
 
@@ -826,7 +826,7 @@ class NestedTreeResolutionTest {
   */
   @Test
   fun measureLayoutWithSizeSpecAsChildUsingMeasureApiInRenderWithCompatibleSizeSpecs() {
-    val c = legacyLithoViewRule.context
+    val c = legacyLithoTestRule.context
     val stepsInfo: List = ArrayList()
     val layoutWithSizeSpecStepsInfo: List = ArrayList()
     val mountableLifecycleTracker = LifecycleTracker()
@@ -842,9 +842,9 @@ class NestedTreeResolutionTest {
             heightSpec)
     val lithoViewWidthSpec = exactly(500)
     val lithoViewHeightSpec = exactly(500)
-    legacyLithoViewRule.setRoot(root)
-    legacyLithoViewRule.setSizeSpecs(lithoViewWidthSpec, lithoViewHeightSpec)
-    legacyLithoViewRule.attachToWindow().measure().layout()
+    legacyLithoTestRule.setRoot(root)
+    legacyLithoTestRule.setSizeSpecs(lithoViewWidthSpec, lithoViewHeightSpec)
+    legacyLithoTestRule.attachToWindow().measure().layout()
     val layoutWithSizeSpecSteps = LifecycleStep.getSteps(layoutWithSizeSpecStepsInfo)
     val steps = LifecycleStep.getSteps(stepsInfo)
     assertThat(steps)
@@ -885,16 +885,16 @@ class NestedTreeResolutionTest {
   */
   @Test
   fun measureLayoutUsingMeasureApiInMeasure() {
-    val c = legacyLithoViewRule.context
+    val c = legacyLithoTestRule.context
     val stepsInfo: List = ArrayList()
     val mountableLifecycleTracker = LifecycleTracker()
     val root =
         createComponentWithSizeSpecMeasuringOCLComponent(c, stepsInfo, mountableLifecycleTracker)
     val lithoViewWidthSpec = exactly(500)
     val lithoViewHeightSpec = exactly(500)
-    legacyLithoViewRule.setRoot(root)
-    legacyLithoViewRule.setSizeSpecs(lithoViewWidthSpec, lithoViewHeightSpec)
-    legacyLithoViewRule.attachToWindow().measure().layout()
+    legacyLithoTestRule.setRoot(root)
+    legacyLithoTestRule.setSizeSpecs(lithoViewWidthSpec, lithoViewHeightSpec)
+    legacyLithoTestRule.attachToWindow().measure().layout()
     val steps = LifecycleStep.getSteps(stepsInfo)
 
     // Notice OCL is called only once even if size specs are not compatible because OCL is not
@@ -936,7 +936,7 @@ class NestedTreeResolutionTest {
   */
   @Test
   fun measureLayoutWithSizeSpecAsRootUsingMeasureApiInMeasure() {
-    val c = legacyLithoViewRule.context
+    val c = legacyLithoTestRule.context
     val layoutWithSizeSpecStepsInfo: List = ArrayList()
     val mountableLifecycleTracker = LifecycleTracker()
     val root =
@@ -944,9 +944,9 @@ class NestedTreeResolutionTest {
             c, layoutWithSizeSpecStepsInfo, mountableLifecycleTracker)
     val lithoViewWidthSpec = exactly(500)
     val lithoViewHeightSpec = exactly(500)
-    legacyLithoViewRule.setRoot(root)
-    legacyLithoViewRule.setSizeSpecs(lithoViewWidthSpec, lithoViewHeightSpec)
-    legacyLithoViewRule.attachToWindow().measure().layout()
+    legacyLithoTestRule.setRoot(root)
+    legacyLithoTestRule.setSizeSpecs(lithoViewWidthSpec, lithoViewHeightSpec)
+    legacyLithoTestRule.attachToWindow().measure().layout()
     val layoutWithSizeSpecSteps = LifecycleStep.getSteps(layoutWithSizeSpecStepsInfo)
     assertThat(layoutWithSizeSpecSteps)
         .containsExactly(
@@ -983,7 +983,7 @@ class NestedTreeResolutionTest {
   */
   @Test
   fun measureLayoutWithSizeSpecAsChildUsingMeasureApiInMeasure() {
-    val c = legacyLithoViewRule.context
+    val c = legacyLithoTestRule.context
     val stepsInfo: List = ArrayList()
     val layoutWithSizeSpecStepsInfo: List = ArrayList()
     val mountableLifecycleTracker = LifecycleTracker()
@@ -992,9 +992,9 @@ class NestedTreeResolutionTest {
             c, stepsInfo, layoutWithSizeSpecStepsInfo, mountableLifecycleTracker)
     val lithoViewWidthSpec = exactly(500)
     val lithoViewHeightSpec = exactly(500)
-    legacyLithoViewRule.setRoot(root)
-    legacyLithoViewRule.setSizeSpecs(lithoViewWidthSpec, lithoViewHeightSpec)
-    legacyLithoViewRule.attachToWindow().measure().layout()
+    legacyLithoTestRule.setRoot(root)
+    legacyLithoTestRule.setSizeSpecs(lithoViewWidthSpec, lithoViewHeightSpec)
+    legacyLithoTestRule.attachToWindow().measure().layout()
     val layoutWithSizeSpecSteps = LifecycleStep.getSteps(layoutWithSizeSpecStepsInfo)
     val steps = LifecycleStep.getSteps(stepsInfo)
 
@@ -1041,7 +1041,7 @@ class NestedTreeResolutionTest {
   */
   @Test
   fun measureComponentUsingMeasureApiInsideAnotherMeasureCallWithCompatibleSizeSpecs() {
-    val c = legacyLithoViewRule.context
+    val c = legacyLithoTestRule.context
     val layoutWithSizeSpecStepsInfo: List = ArrayList()
     val mountableLifecycleTracker = LifecycleTracker()
     val widthSpec = exactly(500)
@@ -1060,9 +1060,9 @@ class NestedTreeResolutionTest {
             true)
     val lithoViewWidthSpec = exactly(500)
     val lithoViewHeightSpec = exactly(500)
-    legacyLithoViewRule.setRoot(root)
-    legacyLithoViewRule.setSizeSpecs(lithoViewWidthSpec, lithoViewHeightSpec)
-    legacyLithoViewRule.attachToWindow().measure().layout()
+    legacyLithoTestRule.setRoot(root)
+    legacyLithoTestRule.setSizeSpecs(lithoViewWidthSpec, lithoViewHeightSpec)
+    legacyLithoTestRule.attachToWindow().measure().layout()
     val stepsInfo = LifecycleStep.getSteps(layoutWithSizeSpecStepsInfo)
     assertThat(stepsInfo)
         .containsExactly(
@@ -1102,7 +1102,7 @@ class NestedTreeResolutionTest {
   */
   @Test
   fun measureComponentUsingMeasureApiInsideAnotherMeasureCallWithDifferentSizeSpecs() {
-    val c = legacyLithoViewRule.context
+    val c = legacyLithoTestRule.context
     val lifecycleStepsInfo: List = ArrayList()
     val mountableLifecycleTracker = LifecycleTracker()
     val parentWidthSpec = exactly(500)
@@ -1123,9 +1123,9 @@ class NestedTreeResolutionTest {
             true)
     val lithoViewWidthSpec = exactly(300)
     val lithoViewHeightSpec = exactly(300)
-    legacyLithoViewRule.setRoot(root)
-    legacyLithoViewRule.setSizeSpecs(lithoViewWidthSpec, lithoViewHeightSpec)
-    legacyLithoViewRule.attachToWindow().measure().layout()
+    legacyLithoTestRule.setRoot(root)
+    legacyLithoTestRule.setSizeSpecs(lithoViewWidthSpec, lithoViewHeightSpec)
+    legacyLithoTestRule.attachToWindow().measure().layout()
     val stepsInfo = LifecycleStep.getSteps(lifecycleStepsInfo)
     assertThat(stepsInfo)
         .containsExactly(
@@ -1166,7 +1166,7 @@ class NestedTreeResolutionTest {
   */
   @Test
   fun measureComponentWithSizeSpecUsingMeasureApiInsideAnotherMeasureCallWithCompatibleSizeSpecs() {
-    val c = legacyLithoViewRule.context
+    val c = legacyLithoTestRule.context
     val layoutWithSizeSpecStepsInfo: List = ArrayList()
     val mountableLifecycleTracker = LifecycleTracker()
     val widthSpec = exactly(500)
@@ -1185,9 +1185,9 @@ class NestedTreeResolutionTest {
             false)
     val lithoViewWidthSpec = exactly(500)
     val lithoViewHeightSpec = exactly(500)
-    legacyLithoViewRule.setRoot(root)
-    legacyLithoViewRule.setSizeSpecs(lithoViewWidthSpec, lithoViewHeightSpec)
-    legacyLithoViewRule.attachToWindow().measure().layout()
+    legacyLithoTestRule.setRoot(root)
+    legacyLithoTestRule.setSizeSpecs(lithoViewWidthSpec, lithoViewHeightSpec)
+    legacyLithoTestRule.attachToWindow().measure().layout()
     val stepsInfo = LifecycleStep.getSteps(layoutWithSizeSpecStepsInfo)
     assertThat(stepsInfo)
         .containsExactly(
@@ -1220,7 +1220,7 @@ class NestedTreeResolutionTest {
   */
   @Test
   fun measureComponentWithSizeSpecUsingMeasureApiInsideAnotherMeasureCallWithDifferentSizeSpecs() {
-    val c = legacyLithoViewRule.context
+    val c = legacyLithoTestRule.context
     val layoutWithSizeSpecStepsInfo: List = ArrayList()
     val mountableLifecycleTracker = LifecycleTracker()
     val widthSpec = exactly(500)
@@ -1239,9 +1239,9 @@ class NestedTreeResolutionTest {
             false)
     val lithoViewWidthSpec = exactly(300)
     val lithoViewHeightSpec = exactly(300)
-    legacyLithoViewRule.setRoot(root)
-    legacyLithoViewRule.setSizeSpecs(lithoViewWidthSpec, lithoViewHeightSpec)
-    legacyLithoViewRule.attachToWindow().measure().layout()
+    legacyLithoTestRule.setRoot(root)
+    legacyLithoTestRule.setSizeSpecs(lithoViewWidthSpec, lithoViewHeightSpec)
+    legacyLithoTestRule.attachToWindow().measure().layout()
     val stepsInfo = LifecycleStep.getSteps(layoutWithSizeSpecStepsInfo)
     assertThat(stepsInfo)
         .containsExactly(
@@ -1274,7 +1274,7 @@ class NestedTreeResolutionTest {
   */
   @Test
   fun measureComponentWithSizeSpecInsideLayoutWithSizeSpecMeasuringOCLWithCompatibleSizeSpecs() {
-    val c = legacyLithoViewRule.context
+    val c = legacyLithoTestRule.context
     val layoutWithSizeSpecStepsInfo: List = ArrayList()
     val mountableLifecycleTracker = LifecycleTracker()
     val widthSpec = exactly(500)
@@ -1293,9 +1293,9 @@ class NestedTreeResolutionTest {
             true)
     val lithoViewWidthSpec = exactly(500)
     val lithoViewHeightSpec = exactly(500)
-    legacyLithoViewRule.setRoot(root)
-    legacyLithoViewRule.setSizeSpecs(lithoViewWidthSpec, lithoViewHeightSpec)
-    legacyLithoViewRule.attachToWindow().measure().layout()
+    legacyLithoTestRule.setRoot(root)
+    legacyLithoTestRule.setSizeSpecs(lithoViewWidthSpec, lithoViewHeightSpec)
+    legacyLithoTestRule.attachToWindow().measure().layout()
     val stepsInfo = LifecycleStep.getSteps(layoutWithSizeSpecStepsInfo)
     assertThat(stepsInfo)
         .containsExactly(
@@ -1335,7 +1335,7 @@ class NestedTreeResolutionTest {
   */
   @Test
   fun measureComponentWithSizeSpecInsideLayoutWithSizeSpecMeasuringOCLWithDifferentSizeSpecs() {
-    val c = legacyLithoViewRule.context
+    val c = legacyLithoTestRule.context
     val layoutWithSizeSpecStepsInfo: List = ArrayList()
     val mountableLifecycleTracker = LifecycleTracker()
     val widthSpec = exactly(500)
@@ -1354,9 +1354,9 @@ class NestedTreeResolutionTest {
             true)
     val lithoViewWidthSpec = exactly(300)
     val lithoViewHeightSpec = exactly(300)
-    legacyLithoViewRule.setRoot(root)
-    legacyLithoViewRule.setSizeSpecs(lithoViewWidthSpec, lithoViewHeightSpec)
-    legacyLithoViewRule.attachToWindow().measure().layout()
+    legacyLithoTestRule.setRoot(root)
+    legacyLithoTestRule.setSizeSpecs(lithoViewWidthSpec, lithoViewHeightSpec)
+    legacyLithoTestRule.attachToWindow().measure().layout()
     val stepsInfo = LifecycleStep.getSteps(layoutWithSizeSpecStepsInfo)
     assertThat(stepsInfo)
         .containsExactly(
@@ -1396,7 +1396,7 @@ class NestedTreeResolutionTest {
   */
   @Test
   fun measureComponentInsideLayoutWithSizeSpecWithCompatibleSizeSpecs() {
-    val c = legacyLithoViewRule.context
+    val c = legacyLithoTestRule.context
     val layoutWithSizeSpecStepsInfo: List = ArrayList()
     val mountableLifecycleTracker = LifecycleTracker()
     val widthSpec = exactly(500)
@@ -1415,9 +1415,9 @@ class NestedTreeResolutionTest {
             true)
     val lithoViewWidthSpec = exactly(500)
     val lithoViewHeightSpec = exactly(500)
-    legacyLithoViewRule.setRoot(root)
-    legacyLithoViewRule.setSizeSpecs(lithoViewWidthSpec, lithoViewHeightSpec)
-    legacyLithoViewRule.attachToWindow().measure().layout()
+    legacyLithoTestRule.setRoot(root)
+    legacyLithoTestRule.setSizeSpecs(lithoViewWidthSpec, lithoViewHeightSpec)
+    legacyLithoTestRule.attachToWindow().measure().layout()
     val stepsInfo = LifecycleStep.getSteps(layoutWithSizeSpecStepsInfo)
     assertThat(stepsInfo)
         .containsExactly(
@@ -1457,7 +1457,7 @@ class NestedTreeResolutionTest {
   */
   @Test
   fun measureComponentInsideLayoutWithSizeSpecWithDifferentSizeSpecs() {
-    val c = legacyLithoViewRule.context
+    val c = legacyLithoTestRule.context
     val layoutWithSizeSpecStepsInfo: List = ArrayList()
     val mountableLifecycleTracker = LifecycleTracker()
     val widthSpec = exactly(500)
@@ -1476,9 +1476,9 @@ class NestedTreeResolutionTest {
             true)
     val lithoViewWidthSpec = exactly(300)
     val lithoViewHeightSpec = exactly(300)
-    legacyLithoViewRule.setRoot(root)
-    legacyLithoViewRule.setSizeSpecs(lithoViewWidthSpec, lithoViewHeightSpec)
-    legacyLithoViewRule.attachToWindow().measure().layout()
+    legacyLithoTestRule.setRoot(root)
+    legacyLithoTestRule.setSizeSpecs(lithoViewWidthSpec, lithoViewHeightSpec)
+    legacyLithoTestRule.attachToWindow().measure().layout()
     val stepsInfo = LifecycleStep.getSteps(layoutWithSizeSpecStepsInfo)
     assertThat(stepsInfo)
         .containsExactly(
@@ -1519,7 +1519,7 @@ class NestedTreeResolutionTest {
   */
   @Test
   fun measureComponentWithSizeSpecWhichMeasuresAnotherComponentWithSizeSpecWithCompatibleSizeSpecs() {
-    val c = legacyLithoViewRule.context
+    val c = legacyLithoTestRule.context
     val layoutWithSizeSpecStepsInfo: List = ArrayList()
     val mountableLifecycleTracker = LifecycleTracker()
     val widthSpec = exactly(500)
@@ -1538,9 +1538,9 @@ class NestedTreeResolutionTest {
             false)
     val lithoViewWidthSpec = exactly(500)
     val lithoViewHeightSpec = exactly(500)
-    legacyLithoViewRule.setRoot(root)
-    legacyLithoViewRule.setSizeSpecs(lithoViewWidthSpec, lithoViewHeightSpec)
-    legacyLithoViewRule.attachToWindow().measure().layout()
+    legacyLithoTestRule.setRoot(root)
+    legacyLithoTestRule.setSizeSpecs(lithoViewWidthSpec, lithoViewHeightSpec)
+    legacyLithoTestRule.attachToWindow().measure().layout()
     val stepsInfo = LifecycleStep.getSteps(layoutWithSizeSpecStepsInfo)
     assertThat(stepsInfo)
         .containsExactly(
@@ -1573,7 +1573,7 @@ class NestedTreeResolutionTest {
   */
   @Test
   fun measureComponentWithSizeSpecWhichMeasuresAnotherComponentWithSizeSpecWithDifferentSizeSpecs() {
-    val c = legacyLithoViewRule.context
+    val c = legacyLithoTestRule.context
     val layoutWithSizeSpecStepsInfo: List = ArrayList()
     val mountableLifecycleTracker = LifecycleTracker()
     val widthSpec = exactly(500)
@@ -1592,9 +1592,9 @@ class NestedTreeResolutionTest {
             false)
     val lithoViewWidthSpec = exactly(300)
     val lithoViewHeightSpec = exactly(300)
-    legacyLithoViewRule.setRoot(root)
-    legacyLithoViewRule.setSizeSpecs(lithoViewWidthSpec, lithoViewHeightSpec)
-    legacyLithoViewRule.attachToWindow().measure().layout()
+    legacyLithoTestRule.setRoot(root)
+    legacyLithoTestRule.setSizeSpecs(lithoViewWidthSpec, lithoViewHeightSpec)
+    legacyLithoTestRule.attachToWindow().measure().layout()
     val stepsInfo = LifecycleStep.getSteps(layoutWithSizeSpecStepsInfo)
     assertThat(stepsInfo)
         .containsExactly(
@@ -1627,7 +1627,7 @@ class NestedTreeResolutionTest {
   */
   @Test
   fun componentWithSizeSpecMeasuringOCLWhichMeasuresAnotherComponentWithSizeSpecWithCompatibleSizeSpecs() {
-    val c = legacyLithoViewRule.context
+    val c = legacyLithoTestRule.context
     val layoutWithSizeSpecStepsInfo: List = ArrayList()
     val mountableLifecycleTracker = LifecycleTracker()
     val widthSpec = exactly(500)
@@ -1646,9 +1646,9 @@ class NestedTreeResolutionTest {
             false)
     val lithoViewWidthSpec = exactly(500)
     val lithoViewHeightSpec = exactly(500)
-    legacyLithoViewRule.setRoot(root)
-    legacyLithoViewRule.setSizeSpecs(lithoViewWidthSpec, lithoViewHeightSpec)
-    legacyLithoViewRule.attachToWindow().measure().layout()
+    legacyLithoTestRule.setRoot(root)
+    legacyLithoTestRule.setSizeSpecs(lithoViewWidthSpec, lithoViewHeightSpec)
+    legacyLithoTestRule.attachToWindow().measure().layout()
     val stepsInfo = LifecycleStep.getSteps(layoutWithSizeSpecStepsInfo)
     assertThat(stepsInfo)
         .containsExactly(
@@ -1681,7 +1681,7 @@ class NestedTreeResolutionTest {
   */
   @Test
   fun componentWithSizeSpecMeasuringOCLWhichMeasuresAnotherComponentWithSizeSpecWithDifferentSizeSpecs() {
-    val c = legacyLithoViewRule.context
+    val c = legacyLithoTestRule.context
     val layoutWithSizeSpecStepsInfo: List = ArrayList()
     val mountableLifecycleTracker = LifecycleTracker()
     val widthSpec = exactly(500)
@@ -1700,9 +1700,9 @@ class NestedTreeResolutionTest {
             false)
     val lithoViewWidthSpec = exactly(300)
     val lithoViewHeightSpec = exactly(300)
-    legacyLithoViewRule.setRoot(root)
-    legacyLithoViewRule.setSizeSpecs(lithoViewWidthSpec, lithoViewHeightSpec)
-    legacyLithoViewRule.attachToWindow().measure().layout()
+    legacyLithoTestRule.setRoot(root)
+    legacyLithoTestRule.setSizeSpecs(lithoViewWidthSpec, lithoViewHeightSpec)
+    legacyLithoTestRule.attachToWindow().measure().layout()
     val stepsInfo = LifecycleStep.getSteps(layoutWithSizeSpecStepsInfo)
     assertThat(stepsInfo)
         .containsExactly(
@@ -1735,7 +1735,7 @@ class NestedTreeResolutionTest {
   */
   @Test
   fun componentWithSizeSpecMeasuringComponentWithSizeSpecWhichMeasuresOCL() {
-    val c = legacyLithoViewRule.context
+    val c = legacyLithoTestRule.context
     val layoutWithSizeSpecStepsInfo: List = ArrayList()
     val mountableLifecycleTracker = LifecycleTracker()
     val widthSpec = exactly(500)
@@ -1754,9 +1754,9 @@ class NestedTreeResolutionTest {
             true)
     val lithoViewWidthSpec = exactly(500)
     val lithoViewHeightSpec = exactly(500)
-    legacyLithoViewRule.setRoot(root)
-    legacyLithoViewRule.setSizeSpecs(lithoViewWidthSpec, lithoViewHeightSpec)
-    legacyLithoViewRule.attachToWindow().measure().layout()
+    legacyLithoTestRule.setRoot(root)
+    legacyLithoTestRule.setSizeSpecs(lithoViewWidthSpec, lithoViewHeightSpec)
+    legacyLithoTestRule.attachToWindow().measure().layout()
     val stepsInfo = LifecycleStep.getSteps(layoutWithSizeSpecStepsInfo)
     assertThat(stepsInfo)
         .containsExactly(
@@ -1796,7 +1796,7 @@ class NestedTreeResolutionTest {
   */
   @Test
   fun componentWithSizeSpecMeasuringOCLWSSWhichMeasuresAnotherOCLWSS() {
-    val c = legacyLithoViewRule.context
+    val c = legacyLithoTestRule.context
     val layoutWithSizeSpecStepsInfo: List = ArrayList()
     val mountableLifecycleTracker = LifecycleTracker()
     val widthSpec = exactly(500)
@@ -1815,9 +1815,9 @@ class NestedTreeResolutionTest {
             false)
     val lithoViewWidthSpec = exactly(500)
     val lithoViewHeightSpec = exactly(500)
-    legacyLithoViewRule.setRoot(root)
-    legacyLithoViewRule.setSizeSpecs(lithoViewWidthSpec, lithoViewHeightSpec)
-    legacyLithoViewRule.attachToWindow().measure().layout()
+    legacyLithoTestRule.setRoot(root)
+    legacyLithoTestRule.setSizeSpecs(lithoViewWidthSpec, lithoViewHeightSpec)
+    legacyLithoTestRule.attachToWindow().measure().layout()
     val stepsInfo = LifecycleStep.getSteps(layoutWithSizeSpecStepsInfo)
     assertThat(stepsInfo)
         .containsExactly(
diff --git a/litho-it/src/test/java/com/facebook/litho/NestedTreeResolutionWithStateTest.kt b/litho-it/src/test/java/com/facebook/litho/NestedTreeResolutionWithStateTest.kt
index f0361946db2..31d412e0af5 100644
--- a/litho-it/src/test/java/com/facebook/litho/NestedTreeResolutionWithStateTest.kt
+++ b/litho-it/src/test/java/com/facebook/litho/NestedTreeResolutionWithStateTest.kt
@@ -22,7 +22,7 @@ import com.facebook.litho.stateupdates.ComponentWithMeasureCallAndState
 import com.facebook.litho.stateupdates.ComponentWithMeasureCallAndStateSpec
 import com.facebook.litho.stateupdates.ComponentWithSizeAndMeasureCallAndState
 import com.facebook.litho.stateupdates.ComponentWithSizeAndMeasureCallAndStateSpec
-import com.facebook.litho.testing.LegacyLithoViewRule
+import com.facebook.litho.testing.LegacyLithoTestRule
 import com.facebook.litho.testing.exactly
 import com.facebook.litho.testing.testrunner.LithoTestRunner
 import com.facebook.litho.widget.MountSpecPureRenderLifecycleTester
@@ -65,7 +65,7 @@ import org.robolectric.annotation.LooperMode
 @RunWith(LithoTestRunner::class)
 class NestedTreeResolutionWithStateTest {
 
-  @JvmField @Rule val legacyLithoViewRule: LegacyLithoViewRule = LegacyLithoViewRule()
+  @JvmField @Rule val legacyLithoTestRule: LegacyLithoTestRule = LegacyLithoTestRule()
 
   /**
    * Tests OCL_OCL_OCL hierarchy.
@@ -930,7 +930,7 @@ class NestedTreeResolutionWithStateTest {
       botStepsStateUpdate3: Array,
       mountSpecStateUpdate3: Array
   ) {
-    val c = legacyLithoViewRule.context
+    val c = legacyLithoTestRule.context
     val widthSpec = exactly(500)
     val heightSpec = exactly(500)
 
@@ -939,13 +939,13 @@ class NestedTreeResolutionWithStateTest {
         createComponentHierarchySetup(c, widthSpec, heightSpec, isRootOCL, isMidOCL, isBotOCL)
 
     // Set the root and layout
-    legacyLithoViewRule.setRoot(holder.component)
-    legacyLithoViewRule.setSizeSpecs(widthSpec, heightSpec)
-    legacyLithoViewRule.attachToWindow().measure().layout()
+    legacyLithoTestRule.setRoot(holder.component)
+    legacyLithoTestRule.setSizeSpecs(widthSpec, heightSpec)
+    legacyLithoTestRule.attachToWindow().measure().layout()
 
     // Ensure the root node is not null. We'll need this to extract scoped contexts to simulate
     // state updates.
-    assertThat(legacyLithoViewRule.currentRootNode).isNotNull
+    assertThat(legacyLithoTestRule.currentRootNode).isNotNull
 
     // Ensure the lifecycle steps are as expected before any state updates.
     var rootSteps = LifecycleStep.getSteps(holder.rootLayoutSpecSteps)
@@ -966,9 +966,9 @@ class NestedTreeResolutionWithStateTest {
         .containsExactly(*mountSpecStepsPreStateUpdate)
 
     // Ensure all texts showing initial states are as expected
-    assertThat(legacyLithoViewRule.findViewWithText("root 0")).isNotNull
-    assertThat(legacyLithoViewRule.findViewWithText("mid 0")).isNotNull
-    assertThat(legacyLithoViewRule.findViewWithText("bot 0")).isNotNull
+    assertThat(legacyLithoTestRule.findViewWithText("root 0")).isNotNull
+    assertThat(legacyLithoTestRule.findViewWithText("mid 0")).isNotNull
+    assertThat(legacyLithoTestRule.findViewWithText("bot 0")).isNotNull
 
     // Test state update 1/3
     // Reset the lifecycle steps
@@ -999,9 +999,9 @@ class NestedTreeResolutionWithStateTest {
         .containsExactly(*mountSpecStateUpdate1)
 
     // Ensure the texts properly reflect the correct values after the state update
-    assertThat(legacyLithoViewRule.findViewWithText("root 1")).isNotNull // Updated!
-    assertThat(legacyLithoViewRule.findViewWithText("mid 0")).isNotNull
-    assertThat(legacyLithoViewRule.findViewWithText("bot 0")).isNotNull
+    assertThat(legacyLithoTestRule.findViewWithText("root 1")).isNotNull // Updated!
+    assertThat(legacyLithoTestRule.findViewWithText("mid 0")).isNotNull
+    assertThat(legacyLithoTestRule.findViewWithText("bot 0")).isNotNull
 
     // Test state update 2/3
     // Reset the lifecycle steps
@@ -1032,9 +1032,9 @@ class NestedTreeResolutionWithStateTest {
         .containsExactly(*mountSpecStateUpdate2)
 
     // Ensure the texts properly reflect the correct values after the state update
-    assertThat(legacyLithoViewRule.findViewWithText("root 1")).isNotNull
-    assertThat(legacyLithoViewRule.findViewWithText("mid 1")).isNotNull // Updated!
-    assertThat(legacyLithoViewRule.findViewWithText("bot 0")).isNotNull
+    assertThat(legacyLithoTestRule.findViewWithText("root 1")).isNotNull
+    assertThat(legacyLithoTestRule.findViewWithText("mid 1")).isNotNull // Updated!
+    assertThat(legacyLithoTestRule.findViewWithText("bot 0")).isNotNull
 
     // Test state update 3/3
     // Reset the lifecycle steps
@@ -1065,17 +1065,17 @@ class NestedTreeResolutionWithStateTest {
         .containsExactly(*mountSpecStateUpdate3)
 
     // Ensure the texts properly reflect the correct values after the state update
-    assertThat(legacyLithoViewRule.findViewWithText("root 1")).isNotNull
-    assertThat(legacyLithoViewRule.findViewWithText("mid 1")).isNotNull
-    assertThat(legacyLithoViewRule.findViewWithText("bot 1")).isNotNull // Updated!
+    assertThat(legacyLithoTestRule.findViewWithText("root 1")).isNotNull
+    assertThat(legacyLithoTestRule.findViewWithText("mid 1")).isNotNull
+    assertThat(legacyLithoTestRule.findViewWithText("bot 1")).isNotNull // Updated!
   }
 
   /** Returns the ComponentContext to be used to trigger state-updates on the Root. */
   private val rootComponentContext: ComponentContext
     get() {
-      assertThat(legacyLithoViewRule.currentRootNode).isNotNull
+      assertThat(legacyLithoTestRule.currentRootNode).isNotNull
       return requireNotNull(
-          getCorrectLayoutResult(legacyLithoViewRule.currentRootNode)
+          getCorrectLayoutResult(legacyLithoTestRule.currentRootNode)
               ?.node
               ?.getComponentContextAt(1))
     }
@@ -1083,7 +1083,7 @@ class NestedTreeResolutionWithStateTest {
   /** Returns the ComponentContext to be used to trigger state-updates on the Mid */
   private val midComponentContext: ComponentContext
     get() {
-      val rootLayoutResult = legacyLithoViewRule.currentRootNode
+      val rootLayoutResult = legacyLithoTestRule.currentRootNode
       assertThat(rootLayoutResult).isNotNull
       return requireNotNull(
           if (rootLayoutResult is NestedTreeHolderResult) {
@@ -1099,7 +1099,7 @@ class NestedTreeResolutionWithStateTest {
   /** Returns the ComponentContext to be used to trigger state-updates on the Bot */
   private val botComponentContext: ComponentContext
     get() {
-      val rootLayoutResult = legacyLithoViewRule.currentRootNode
+      val rootLayoutResult = legacyLithoTestRule.currentRootNode
       assertThat(rootLayoutResult).isNotNull
       return requireNotNull(
           if (rootLayoutResult is NestedTreeHolderResult) {
diff --git a/litho-it/src/test/java/com/facebook/litho/ResolveAttributeTest.kt b/litho-it/src/test/java/com/facebook/litho/ResolveAttributeTest.kt
index 063fbf4bfeb..00738afede4 100644
--- a/litho-it/src/test/java/com/facebook/litho/ResolveAttributeTest.kt
+++ b/litho-it/src/test/java/com/facebook/litho/ResolveAttributeTest.kt
@@ -28,7 +28,7 @@ import com.facebook.litho.it.R.dimen.test_dimen
 import com.facebook.litho.it.R.dimen.test_dimen_float
 import com.facebook.litho.it.R.drawable.test_bg
 import com.facebook.litho.it.R.style.TestTheme
-import com.facebook.litho.testing.LegacyLithoViewRule
+import com.facebook.litho.testing.LegacyLithoTestRule
 import com.facebook.litho.testing.testrunner.LithoTestRunner
 import com.facebook.rendercore.utils.MeasureSpecUtils
 import com.facebook.yoga.YogaEdge
@@ -42,54 +42,54 @@ import org.robolectric.Shadows
 @RunWith(LithoTestRunner::class)
 class ResolveAttributeTest {
 
-  @JvmField @Rule val legacyLithoViewRule: LegacyLithoViewRule = LegacyLithoViewRule()
+  @JvmField @Rule val legacyLithoTestRule: LegacyLithoTestRule = LegacyLithoTestRule()
 
   @Before
   fun setup() {
-    legacyLithoViewRule.useContext(
+    legacyLithoTestRule.useContext(
         ComponentContext(
             ContextThemeWrapper(ApplicationProvider.getApplicationContext(), TestTheme)))
   }
 
   @Test
   fun testResolveDrawableAttribute() {
-    val c = legacyLithoViewRule.context
+    val c = legacyLithoTestRule.context
     val column = Column.create(c).backgroundAttr(testAttrDrawable, 0).build()
-    legacyLithoViewRule
+    legacyLithoTestRule
         .setRootAndSizeSpecSync(
             column, MeasureSpecUtils.unspecified(), MeasureSpecUtils.unspecified())
         .measure()
         .layout()
     val d = c.resources.getDrawable(test_bg)
-    val drawable = legacyLithoViewRule.currentRootNode?.node?.background
+    val drawable = legacyLithoTestRule.currentRootNode?.node?.background
     assertThat(Shadows.shadowOf(drawable).createdFromResId)
         .isEqualTo(Shadows.shadowOf(d).createdFromResId)
   }
 
   @Test
   fun testResolveDimenAttribute() {
-    val c = legacyLithoViewRule.context
+    val c = legacyLithoTestRule.context
     val column = Column.create(c).widthAttr(testAttrDimen, default_dimen).build()
-    legacyLithoViewRule
+    legacyLithoTestRule
         .setRootAndSizeSpecSync(
             column, MeasureSpecUtils.unspecified(), MeasureSpecUtils.unspecified())
         .measure()
         .layout()
-    val node = legacyLithoViewRule.currentRootNode
+    val node = legacyLithoTestRule.currentRootNode
     val dimen = c.resources.getDimensionPixelSize(R.dimen.test_dimen)
     assertThat(node?.width).isEqualTo(dimen)
   }
 
   @Test
   fun testDefaultDrawableAttribute() {
-    val c = legacyLithoViewRule.context
+    val c = legacyLithoTestRule.context
     val column = Column.create(c).backgroundAttr(undefinedAttrDrawable, test_bg).build()
-    legacyLithoViewRule
+    legacyLithoTestRule
         .setRootAndSizeSpecSync(
             column, MeasureSpecUtils.unspecified(), MeasureSpecUtils.unspecified())
         .measure()
         .layout()
-    val result = legacyLithoViewRule.currentRootNode
+    val result = legacyLithoTestRule.currentRootNode
     val d = c.resources.getDrawable(test_bg)
     val drawable = result?.node?.background
     assertThat(Shadows.shadowOf(drawable).createdFromResId)
@@ -98,43 +98,43 @@ class ResolveAttributeTest {
 
   @Test
   fun testDefaultDimenAttribute() {
-    val c = legacyLithoViewRule.context
+    val c = legacyLithoTestRule.context
     val column = Column.create(c).widthAttr(undefinedAttrDimen, test_dimen).build()
-    legacyLithoViewRule
+    legacyLithoTestRule
         .setRootAndSizeSpecSync(
             column, MeasureSpecUtils.unspecified(), MeasureSpecUtils.unspecified())
         .measure()
         .layout()
-    val node = legacyLithoViewRule.currentRootNode
+    val node = legacyLithoTestRule.currentRootNode
     val dimen = c.resources.getDimensionPixelSize(R.dimen.test_dimen)
     assertThat(node?.width).isEqualTo(dimen)
   }
 
   @Test
   fun testFloatDimenWidthAttribute() {
-    val c = legacyLithoViewRule.context
+    val c = legacyLithoTestRule.context
     val column = Column.create(c).widthAttr(undefinedAttrDimen, test_dimen_float).build()
-    legacyLithoViewRule
+    legacyLithoTestRule
         .setRootAndSizeSpecSync(
             column, MeasureSpecUtils.unspecified(), MeasureSpecUtils.unspecified())
         .measure()
         .layout()
-    val node = legacyLithoViewRule.currentRootNode
+    val node = legacyLithoTestRule.currentRootNode
     val dimen = c.resources.getDimensionPixelSize(test_dimen_float)
     assertThat(node?.width).isEqualTo(dimen)
   }
 
   @Test
   fun testFloatDimenPaddingAttribute() {
-    val c = legacyLithoViewRule.context
+    val c = legacyLithoTestRule.context
     val column =
         Column.create(c).paddingAttr(YogaEdge.LEFT, undefinedAttrDimen, test_dimen_float).build()
-    legacyLithoViewRule
+    legacyLithoTestRule
         .setRootAndSizeSpecSync(
             column, MeasureSpecUtils.unspecified(), MeasureSpecUtils.unspecified())
         .measure()
         .layout()
-    val node = legacyLithoViewRule.currentRootNode
+    val node = legacyLithoTestRule.currentRootNode
     val dimen = c.resources.getDimensionPixelSize(test_dimen_float)
     assertThat(node?.paddingLeft).isEqualTo(dimen)
   }
diff --git a/litho-it/src/test/java/com/facebook/litho/ResolveResTest.kt b/litho-it/src/test/java/com/facebook/litho/ResolveResTest.kt
index 7dd2c6322d3..9733e62b7bd 100644
--- a/litho-it/src/test/java/com/facebook/litho/ResolveResTest.kt
+++ b/litho-it/src/test/java/com/facebook/litho/ResolveResTest.kt
@@ -21,7 +21,7 @@ import androidx.test.core.app.ApplicationProvider
 import com.facebook.litho.it.R.dimen.test_dimen
 import com.facebook.litho.it.R.dimen.test_dimen_float
 import com.facebook.litho.it.R.style.TestTheme
-import com.facebook.litho.testing.LegacyLithoViewRule
+import com.facebook.litho.testing.LegacyLithoTestRule
 import com.facebook.litho.testing.testrunner.LithoTestRunner
 import com.facebook.litho.widget.TextInput
 import com.facebook.rendercore.utils.MeasureSpecUtils.unspecified
@@ -37,58 +37,58 @@ import org.robolectric.annotation.LooperMode
 @RunWith(LithoTestRunner::class)
 class ResolveResTest {
 
-  @JvmField @Rule val legacyLithoViewRule: LegacyLithoViewRule = LegacyLithoViewRule()
+  @JvmField @Rule val legacyLithoTestRule: LegacyLithoTestRule = LegacyLithoTestRule()
 
   @Before
   fun setup() {
-    legacyLithoViewRule.useContext(
+    legacyLithoTestRule.useContext(
         ComponentContext(
             ContextThemeWrapper(ApplicationProvider.getApplicationContext(), TestTheme)))
   }
 
   @Test
   fun testDefaultDimenWidthRes() {
-    val c = legacyLithoViewRule.context
+    val c = legacyLithoTestRule.context
     val column = Column.create(c).widthRes(test_dimen).build()
-    legacyLithoViewRule
+    legacyLithoTestRule
         .setRootAndSizeSpecSync(column, unspecified(), unspecified())
         .measure()
         .layout()
     val dimen = c.resources.getDimensionPixelSize(test_dimen)
-    assertThat(legacyLithoViewRule.lithoView.width).isEqualTo(dimen)
+    assertThat(legacyLithoTestRule.lithoView.width).isEqualTo(dimen)
   }
 
   @Test
   fun testDefaultDimenPaddingRes() {
-    val c = legacyLithoViewRule.context
+    val c = legacyLithoTestRule.context
     val column = Column.create(c).paddingRes(YogaEdge.LEFT, test_dimen).build()
-    legacyLithoViewRule
+    legacyLithoTestRule
         .setRootAndSizeSpecSync(column, unspecified(), unspecified())
         .measure()
         .layout()
     val dimen = c.resources.getDimensionPixelSize(test_dimen)
-    assertThat(legacyLithoViewRule.lithoView.width).isEqualTo(dimen)
+    assertThat(legacyLithoTestRule.lithoView.width).isEqualTo(dimen)
   }
 
   @Test
   fun testFloatDimenWidthRes() {
-    val c = legacyLithoViewRule.context
+    val c = legacyLithoTestRule.context
     val column = Column.create(c).widthRes(test_dimen_float).build()
-    legacyLithoViewRule
+    legacyLithoTestRule
         .setRootAndSizeSpecSync(column, unspecified(), unspecified())
         .measure()
         .layout()
     val dimen = c.resources.getDimensionPixelSize(test_dimen_float)
-    assertThat(legacyLithoViewRule.lithoView.width).isEqualTo(dimen)
+    assertThat(legacyLithoTestRule.lithoView.width).isEqualTo(dimen)
   }
 
   @Test
   fun testFloatDimenPaddingRes() {
-    val c = legacyLithoViewRule.context
+    val c = legacyLithoTestRule.context
     val row =
         Row.create(c).child(TextInput.create(c).paddingRes(YogaEdge.LEFT, test_dimen_float)).build()
-    legacyLithoViewRule.attachToWindow().setSizePx(100, 100).setRoot(row).measure().layout()
+    legacyLithoTestRule.attachToWindow().setSizePx(100, 100).setRoot(row).measure().layout()
     val dimen = c.resources.getDimensionPixelSize(test_dimen_float)
-    assertThat(legacyLithoViewRule.lithoView.getChildAt(0).paddingLeft).isEqualTo(dimen)
+    assertThat(legacyLithoTestRule.lithoView.getChildAt(0).paddingLeft).isEqualTo(dimen)
   }
 }
diff --git a/litho-it/src/test/java/com/facebook/litho/SplitFuturesTest.kt b/litho-it/src/test/java/com/facebook/litho/SplitFuturesTest.kt
index 37fbdaaeda7..a6df1efacc2 100644
--- a/litho-it/src/test/java/com/facebook/litho/SplitFuturesTest.kt
+++ b/litho-it/src/test/java/com/facebook/litho/SplitFuturesTest.kt
@@ -19,7 +19,7 @@ package com.facebook.litho
 import android.graphics.Color
 import com.facebook.litho.TreeFuture.FutureExecutionListener
 import com.facebook.litho.TreeFuture.FutureExecutionType
-import com.facebook.litho.testing.LegacyLithoViewRule
+import com.facebook.litho.testing.LegacyLithoTestRule
 import com.facebook.litho.testing.LithoStatsRule
 import com.facebook.litho.testing.ThreadTestingUtils
 import com.facebook.litho.testing.TimeOutSemaphore
@@ -43,7 +43,7 @@ import org.robolectric.annotation.LooperMode
 @RunWith(LithoTestRunner::class)
 class SplitFuturesTest {
 
-  @JvmField @Rule val legacyLithoViewRule: LegacyLithoViewRule = LegacyLithoViewRule()
+  @JvmField @Rule val legacyLithoTestRule: LegacyLithoTestRule = LegacyLithoTestRule()
 
   @JvmField @Rule val lithoStatsRule: LithoStatsRule = LithoStatsRule()
 
@@ -57,7 +57,7 @@ class SplitFuturesTest {
    */
   @Test
   fun testSyncRendersAndMeasures() {
-    val c = legacyLithoViewRule.context
+    val c = legacyLithoTestRule.context
     val tracker = LifecycleTracker()
     val component1 =
         Column.create(c)
@@ -65,7 +65,7 @@ class SplitFuturesTest {
             .build()
 
     // Setting root, only render steps should occur
-    legacyLithoViewRule.setRoot(component1).idle()
+    legacyLithoTestRule.setRoot(component1).idle()
     assertThat(tracker.steps)
         .describedAs("Only render-phase steps are present")
         .containsExactly(
@@ -80,7 +80,7 @@ class SplitFuturesTest {
     val heightSpec1 = exactly(100)
 
     // Set sizespecs, and trigger measure and layout. Only measure steps should occur
-    legacyLithoViewRule.setSizeSpecs(widthSpec1, heightSpec1).measure().layout()
+    legacyLithoTestRule.setSizeSpecs(widthSpec1, heightSpec1).measure().layout()
     assertThat(tracker.steps)
         .describedAs("Only measure-phase steps are present")
         .containsExactly(
@@ -95,7 +95,7 @@ class SplitFuturesTest {
     tracker.reset()
 
     // Measure and layout again with no change to specs. No new lifecycle steps should occur
-    legacyLithoViewRule.measure().layout().idle()
+    legacyLithoTestRule.measure().layout().idle()
     assertThat(tracker.steps).describedAs("no change means no new lifecycle steps").isEmpty()
 
     // Reset the tracker
@@ -104,7 +104,7 @@ class SplitFuturesTest {
     val heightSpec2 = exactly(150)
 
     // Set new size specs. Only measure steps should occur
-    legacyLithoViewRule.setSizeSpecs(widthSpec2, heightSpec2).measure().layout()
+    legacyLithoTestRule.setSizeSpecs(widthSpec2, heightSpec2).measure().layout()
     // SHOULD_UPDATE happens after ON_MEASURE with layout caching
     assertThat(tracker.steps)
         .describedAs("Changing width and height triggers only re-measure steps")
@@ -122,7 +122,7 @@ class SplitFuturesTest {
             .build()
 
     // Set a new root. Since measure already happened, we expect render and measure steps to occur
-    legacyLithoViewRule.setRoot(component2)
+    legacyLithoTestRule.setRoot(component2)
     assertThat(tracker.steps)
         .describedAs("Setting new root after measure should render and measure")
         .containsExactly(
@@ -136,7 +136,7 @@ class SplitFuturesTest {
   /** Test multiple set-root async. */
   @Test
   fun testAsyncSetRootWitNoMeasures() {
-    val c = legacyLithoViewRule.context
+    val c = legacyLithoTestRule.context
     val counter = RenderAndMeasureCounter()
     val component1 =
         Column.create(c)
@@ -144,14 +144,14 @@ class SplitFuturesTest {
             .build()
 
     // Set root async
-    legacyLithoViewRule.setRootAsync(component1)
+    legacyLithoTestRule.setRootAsync(component1)
 
     // Render should not have happened yet
     assertThat(counter.renderCount).isEqualTo(0)
     assertThat(lithoStatsRule.resolveCount).isEqualTo(0)
 
     // Wait for tasks to finish
-    legacyLithoViewRule.idle()
+    legacyLithoTestRule.idle()
 
     // Now render should have happened once.
     assertThat(counter.renderCount).isEqualTo(1)
@@ -172,11 +172,11 @@ class SplitFuturesTest {
     lithoStatsRule.resetAllCounters()
 
     // Queue 2 set-root-asyncs. Only 1 should actually happen
-    legacyLithoViewRule.setRootAsync(component2)
-    legacyLithoViewRule.setRootAsync(component3)
+    legacyLithoTestRule.setRootAsync(component2)
+    legacyLithoTestRule.setRootAsync(component3)
 
     // Run to end of tasks
-    legacyLithoViewRule.idle()
+    legacyLithoTestRule.idle()
 
     // Multiple queued async set roots will only end up running the latest one.
     assertThat(counter.renderCount).isEqualTo(1)
@@ -203,7 +203,7 @@ class SplitFuturesTest {
    */
   @Test
   fun testBackgroundSyncMeasures_layoutTreeFutureIsReused() {
-    val c = legacyLithoViewRule.context
+    val c = legacyLithoTestRule.context
     val counter = RenderAndMeasureCounter()
 
     // Latch that waits for the 1st measure to start
@@ -236,8 +236,8 @@ class SplitFuturesTest {
             .build()
 
     // Set root without measuring
-    legacyLithoViewRule.setRoot(component)
-    val componentTree = legacyLithoViewRule.componentTree
+    legacyLithoTestRule.setRoot(component)
+    val componentTree = legacyLithoTestRule.componentTree
     val widthSpec = exactly(100)
     val heightSpec = exactly(150)
     val output1 = Size()
@@ -310,7 +310,7 @@ class SplitFuturesTest {
    */
   @Test
   fun testOlderRootIsNotCommitted() {
-    val c = legacyLithoViewRule.context
+    val c = legacyLithoTestRule.context
     val counter1 = RenderAndMeasureCounter()
     val counter2 = RenderAndMeasureCounter()
 
@@ -355,10 +355,10 @@ class SplitFuturesTest {
     val bgThreadLatch = TimeOutSemaphore(-1)
 
     // Set size specs so setRoot happens sync
-    legacyLithoViewRule.componentTree.setSizeSpec(exactly(100), exactly(100))
+    legacyLithoTestRule.componentTree.setSizeSpec(exactly(100), exactly(100))
     lithoStatsRule.resetAllCounters()
     ThreadTestingUtils.runOnBackgroundThread(bgThreadLatch) { // Set root1 1st.
-      legacyLithoViewRule.setRoot(component1)
+      legacyLithoTestRule.setRoot(component1)
     }
     ThreadTestingUtils.runOnBackgroundThread(
         bgThreadLatch) { // Wait for the 1st setRoot to be called
@@ -366,7 +366,7 @@ class SplitFuturesTest {
 
           // Call the 2nd setRoot, will be called after comp1 is set as root, thereby making
           // comp2 the latest.
-          legacyLithoViewRule.setRoot(component2)
+          legacyLithoTestRule.setRoot(component2)
 
           // inform comp2 has finished render
           waitForSecondSetRootToFinishLatch.release()
@@ -392,7 +392,7 @@ class SplitFuturesTest {
 
     // Now do layout to trigger a measure with the committed resolution result. We expect only the
     // 2nd component to get measured here.
-    legacyLithoViewRule.setSizeSpecs(exactly(100), exactly(100)).measure().layout().idle()
+    legacyLithoTestRule.setSizeSpecs(exactly(100), exactly(100)).measure().layout().idle()
 
     // Ensure no new renders
     assertThat(counter1.renderCount).isEqualTo(0)
@@ -405,13 +405,13 @@ class SplitFuturesTest {
     assertThat(lithoStatsRule.resolveCount).isEqualTo(0)
 
     // Ensure we can find Comp2's Text mounted.
-    assertThat(legacyLithoViewRule.findViewWithText("Comp2")).isNotNull
+    assertThat(legacyLithoTestRule.findViewWithText("Comp2")).isNotNull
   }
 
   @Test
   fun ifSyncResolveIsInProgress_thenAsyncResolveShouldWaitForInProgressResolve() {
     val isFirstHolder = booleanArrayOf(false)
-    val c = legacyLithoViewRule.context
+    val c = legacyLithoTestRule.context
     val counter = RenderAndMeasureCounter()
     // Latch to wait for the 1st setRoot to get called to avoid calling the 2nd setRoot 1st.
     val latch = TimeOutSemaphore(0)
@@ -426,7 +426,7 @@ class SplitFuturesTest {
               }
             }
             if (isFirst) {
-              legacyLithoViewRule.componentTree.setFutureExecutionListener(
+              legacyLithoTestRule.componentTree.setFutureExecutionListener(
                   object : FutureExecutionListener {
                     override fun onPreExecution(
                         version: Int,
@@ -442,8 +442,8 @@ class SplitFuturesTest {
                         attribution: String
                     ) = Unit
                   })
-              legacyLithoViewRule.setRootAsync(legacyLithoViewRule.componentTree.getRoot())
-              ThreadTestingUtils.runOnBackgroundThread { legacyLithoViewRule.idle() }
+              legacyLithoTestRule.setRootAsync(legacyLithoTestRule.componentTree.getRoot())
+              ThreadTestingUtils.runOnBackgroundThread { legacyLithoTestRule.idle() }
               latch.acquire() // wait for async set root to release latch
             }
           }
@@ -462,10 +462,10 @@ class SplitFuturesTest {
             .build()
 
     // required to trigger async set roots
-    legacyLithoViewRule.componentTree.setSizeSpec(exactly(100), exactly(100))
+    legacyLithoTestRule.componentTree.setSizeSpec(exactly(100), exactly(100))
 
     // first set root
-    legacyLithoViewRule.setRoot(component)
+    legacyLithoTestRule.setRoot(component)
 
     // The second resolve should be skipped
     assertThat(counter.renderCount).isEqualTo(1)
@@ -482,7 +482,7 @@ class SplitFuturesTest {
    */
   @Test
   fun testOlderLayoutIsNotCommitted() {
-    val c = legacyLithoViewRule.context
+    val c = legacyLithoTestRule.context
     val counter = RenderAndMeasureCounter()
 
     // Boolean holder to check if the 1st measurement has happened yet. We want to force the 1st
@@ -526,7 +526,7 @@ class SplitFuturesTest {
             .build()
 
     // Set the root component once (sync)
-    legacyLithoViewRule.setRoot(component)
+    legacyLithoTestRule.setRoot(component)
     lithoStatsRule.resetAllCounters()
 
     // "Old" size-specs to be set first, but finish last
@@ -536,7 +536,7 @@ class SplitFuturesTest {
     // "New" size-specs to be set second, but finish 1st
     val newWidthSpec = exactly(150)
     val newHeightSpec = exactly(150)
-    val componentTree = legacyLithoViewRule.componentTree
+    val componentTree = legacyLithoTestRule.componentTree
 
     // Background thread latch with -1 permits to ensure both bg tasks finish
     val bgThreadLatch = TimeOutSemaphore(-1)
@@ -606,7 +606,7 @@ class SplitFuturesTest {
    */
   @Test
   fun testAsyncLayoutIsSkippedWhenEquivalentSyncLayoutInProgress() {
-    val c = legacyLithoViewRule.context
+    val c = legacyLithoTestRule.context
     val counter = RenderAndMeasureCounter()
     val syncMeasureStartedLatch = TimeOutSemaphore(0)
     val asyncMeasureTriggeredLatch = TimeOutSemaphore(0)
@@ -631,11 +631,11 @@ class SplitFuturesTest {
             .build()
 
     // Set the root component once (sync)
-    legacyLithoViewRule.setRoot(component)
+    legacyLithoTestRule.setRoot(component)
     lithoStatsRule.resetAllCounters()
     val widthSpec = exactly(100)
     val heightSpec = exactly(100)
-    val componentTree = legacyLithoViewRule.componentTree
+    val componentTree = legacyLithoTestRule.componentTree
     componentTree.setSizeSpecAsync(widthSpec, heightSpec)
     val output = Size()
     val bgLatch: TimeOutSemaphore =
@@ -647,7 +647,7 @@ class SplitFuturesTest {
     syncMeasureStartedLatch.acquire()
 
     // Force async tasks to run
-    legacyLithoViewRule.idle()
+    legacyLithoTestRule.idle()
 
     // Inform async tasks have been drained
     asyncMeasureTriggeredLatch.release()
@@ -670,7 +670,7 @@ class SplitFuturesTest {
    */
   @Test
   fun testSyncRenderContinuesAsyncOnMainThread() {
-    val c = legacyLithoViewRule.context
+    val c = legacyLithoTestRule.context
     val counter = RenderAndMeasureCounter()
 
     // latch to wait for the main thread layout
@@ -679,7 +679,7 @@ class SplitFuturesTest {
         Column.create(c)
             .child(RenderAndLayoutCountingTester.create(c).renderAndMeasureCounter(counter))
             .build()
-    val componentTree = legacyLithoViewRule.componentTree
+    val componentTree = legacyLithoTestRule.componentTree
 
     // wait in prepare
     onPrepareLatch.release()
@@ -712,8 +712,8 @@ class SplitFuturesTest {
     assertThat(lithoStatsRule.layoutCount).isEqualTo(1)
 
     // verify that the layout is measured against the new size
-    assertThat(legacyLithoViewRule.committedLayoutState?.width).isEqualTo(200)
-    assertThat(legacyLithoViewRule.committedLayoutState?.height).isEqualTo(200)
+    assertThat(legacyLithoTestRule.committedLayoutState?.width).isEqualTo(200)
+    assertThat(legacyLithoTestRule.committedLayoutState?.height).isEqualTo(200)
   }
 
   /**
@@ -727,7 +727,7 @@ class SplitFuturesTest {
    */
   @Test
   fun testSyncLayoutContinuesAsyncOnMainThread() {
-    val c = legacyLithoViewRule.context
+    val c = legacyLithoTestRule.context
     val counter = RenderAndMeasureCounter()
 
     // Latch to wait for async measure to begin before sync render
@@ -756,14 +756,14 @@ class SplitFuturesTest {
             .build()
     val widthSpec = exactly(100)
     val heightSpec = exactly(100)
-    val componentTree = legacyLithoViewRule.componentTree
+    val componentTree = legacyLithoTestRule.componentTree
 
     // Set root and size-spec async
     componentTree.setRootAndSizeSpecAsync(component, widthSpec, heightSpec)
 
     // run to end of tasks on background to avoid blocking here
     val bgThreadLatch: TimeOutSemaphore =
-        ThreadTestingUtils.runOnBackgroundThread { legacyLithoViewRule.runToEndOfBackgroundTasks() }
+        ThreadTestingUtils.runOnBackgroundThread { legacyLithoTestRule.runToEndOfBackgroundTasks() }
 
     // Wait for async measure to start
     waitForAsyncMeasureToStartLatch.acquire()
@@ -814,7 +814,7 @@ class SplitFuturesTest {
    */
   @Test
   fun testSetRootWithNoSizeSpecsHappensAsync() {
-    val c = legacyLithoViewRule.context
+    val c = legacyLithoTestRule.context
     val counter = RenderAndMeasureCounter()
     val component =
         Column.create(c)
@@ -822,7 +822,7 @@ class SplitFuturesTest {
             .build()
 
     // Set root here should force the operation to become async
-    legacyLithoViewRule.setRoot(component)
+    legacyLithoTestRule.setRoot(component)
     lithoStatsRule.resetAllCounters()
 
     // Setting root without size-specs should force the operation to become async, so we verify
@@ -833,7 +833,7 @@ class SplitFuturesTest {
     assertThat(lithoStatsRule.layoutCount).isEqualTo(0)
 
     // Run to end of tasks, forcing async task to complete
-    legacyLithoViewRule.idle()
+    legacyLithoTestRule.idle()
 
     // Now that we've run to end of tasks, we can expect render to have happened (tho no measure)
     assertThat(counter.renderCount).isEqualTo(1)
@@ -852,7 +852,7 @@ class SplitFuturesTest {
    */
   @Test
   fun testNoChangeToTreeProps_renderStillHappensOnce() {
-    val c = legacyLithoViewRule.context
+    val c = legacyLithoTestRule.context
     val counter = RenderAndMeasureCounter()
     val component =
         Column.create(c)
@@ -862,7 +862,7 @@ class SplitFuturesTest {
 
     // Define tree-props on the CT
     val treePropContainer = TreePropContainer()
-    legacyLithoViewRule.componentTree.setRootAndSizeSpecSync(
+    legacyLithoTestRule.componentTree.setRootAndSizeSpecSync(
         component, exactly(100), exactly(100), output, treePropContainer) // Set new tree props.
 
     // Ensure render and measure happened once, and the output is set correctly
@@ -874,7 +874,7 @@ class SplitFuturesTest {
     assertThat(output.height).isEqualTo(100)
 
     // Set the same root again, with the same tree-props, but different size-specs
-    legacyLithoViewRule.componentTree.setRootAndSizeSpecSync(
+    legacyLithoTestRule.componentTree.setRootAndSizeSpecSync(
         component, exactly(150), exactly(150), output, treePropContainer) // Use the same tree props
 
     // Same component, so render count should still be 1.
diff --git a/litho-it/src/test/java/com/facebook/litho/StateUpdatesTest.kt b/litho-it/src/test/java/com/facebook/litho/StateUpdatesTest.kt
index 9f588619b83..aa8bdc6f06d 100644
--- a/litho-it/src/test/java/com/facebook/litho/StateUpdatesTest.kt
+++ b/litho-it/src/test/java/com/facebook/litho/StateUpdatesTest.kt
@@ -20,7 +20,7 @@ import android.content.Context
 import androidx.test.core.app.ApplicationProvider
 import com.facebook.litho.components.StateUpdateTestLayout
 import com.facebook.litho.testing.BackgroundLayoutLooperRule
-import com.facebook.litho.testing.LegacyLithoViewRule
+import com.facebook.litho.testing.LegacyLithoTestRule
 import com.facebook.litho.testing.ThreadTestingUtils
 import com.facebook.litho.testing.exactly
 import com.facebook.litho.testing.inlinelayoutspec.InlineLayoutSpec
@@ -52,7 +52,7 @@ open class StateUpdatesTest {
   @Rule
   var backgroundLayoutLooperRule: BackgroundLayoutLooperRule = BackgroundLayoutLooperRule()
 
-  @JvmField @Rule val legacyLithoViewRule: LegacyLithoViewRule = LegacyLithoViewRule()
+  @JvmField @Rule val legacyLithoTestRule: LegacyLithoTestRule = LegacyLithoTestRule()
 
   @Before
   fun setup() {
@@ -61,9 +61,9 @@ open class StateUpdatesTest {
     heightSpec = exactly(41)
     testComponent = StateUpdateTestComponent()
     testComponentKey = testComponent.key
-    legacyLithoViewRule.setRoot(testComponent)
-    componentTree = legacyLithoViewRule.componentTree
-    legacyLithoViewRule.attachToWindow().measure().layout().setSizeSpecs(widthSpec, heightSpec)
+    legacyLithoTestRule.setRoot(testComponent)
+    componentTree = legacyLithoTestRule.componentTree
+    legacyLithoTestRule.attachToWindow().measure().layout().setSizeSpecs(widthSpec, heightSpec)
   }
 
   @After
@@ -83,8 +83,8 @@ open class StateUpdatesTest {
           override fun onCreateLayout(c: ComponentContext): Component =
               Column.create(c).child(child1).child(child2).build()
         }
-    legacyLithoViewRule.setRoot(component)
-    legacyLithoViewRule
+    legacyLithoTestRule.setRoot(component)
+    legacyLithoTestRule
         .attachToWindow()
         .measure()
         .layout()
@@ -106,8 +106,8 @@ open class StateUpdatesTest {
                 .build()
           }
         }
-    legacyLithoViewRule.setRoot(component)
-    legacyLithoViewRule
+    legacyLithoTestRule.setRoot(component)
+    legacyLithoTestRule
         .attachToWindow()
         .measure()
         .layout()
@@ -144,8 +144,8 @@ open class StateUpdatesTest {
     assertThat(stateContainersMap?.keys?.contains(testComponentKey)).isTrue
     val child1 = StateUpdateTestComponent()
     child1.key = "key"
-    legacyLithoViewRule.setRoot(child1)
-    legacyLithoViewRule
+    legacyLithoTestRule.setRoot(child1)
+    legacyLithoTestRule
         .attachToWindow()
         .measure()
         .layout()
diff --git a/litho-it/src/test/java/com/facebook/litho/StateUpdatesWithReconciliationTest.kt b/litho-it/src/test/java/com/facebook/litho/StateUpdatesWithReconciliationTest.kt
index 21e85bf07bf..4c899b4445a 100644
--- a/litho-it/src/test/java/com/facebook/litho/StateUpdatesWithReconciliationTest.kt
+++ b/litho-it/src/test/java/com/facebook/litho/StateUpdatesWithReconciliationTest.kt
@@ -21,7 +21,7 @@ import com.facebook.litho.core.height
 import com.facebook.litho.core.width
 import com.facebook.litho.kotlin.widget.Text
 import com.facebook.litho.testing.BackgroundLayoutLooperRule
-import com.facebook.litho.testing.LegacyLithoViewRule
+import com.facebook.litho.testing.LegacyLithoTestRule
 import com.facebook.litho.testing.assertj.LithoViewAssert.Companion.assertThat
 import com.facebook.litho.testing.testrunner.LithoTestRunner
 import com.facebook.litho.widget.ImmediateLazyStateUpdateDispatchingComponent
@@ -49,7 +49,7 @@ class StateUpdatesWithReconciliationTest() {
 
   @JvmField @Rule var backgroundLayoutLooperRule = BackgroundLayoutLooperRule()
 
-  @JvmField @Rule var lithoViewRule = LegacyLithoViewRule()
+  @JvmField @Rule var lithoViewRule = LegacyLithoTestRule()
 
   @Test
   fun `should not reuse layout when root with new props is set`() {
diff --git a/litho-it/src/test/java/com/facebook/litho/TouchExpansionDelegateTest.kt b/litho-it/src/test/java/com/facebook/litho/TouchExpansionDelegateTest.kt
index 7bf8c924ea3..61323f5dcf1 100644
--- a/litho-it/src/test/java/com/facebook/litho/TouchExpansionDelegateTest.kt
+++ b/litho-it/src/test/java/com/facebook/litho/TouchExpansionDelegateTest.kt
@@ -21,7 +21,7 @@ import android.os.SystemClock
 import android.view.MotionEvent
 import android.view.View
 import androidx.test.core.app.ApplicationProvider
-import com.facebook.litho.testing.LegacyLithoViewRule
+import com.facebook.litho.testing.LegacyLithoTestRule
 import com.facebook.litho.testing.testrunner.LithoTestRunner
 import com.facebook.litho.widget.OnClickCallbackComponent
 import com.facebook.litho.widget.Text
@@ -37,13 +37,13 @@ import org.robolectric.annotation.LooperMode
 @RunWith(LithoTestRunner::class)
 class TouchExpansionDelegateTest {
 
-  @JvmField @Rule val legacyLithoViewRule: LegacyLithoViewRule = LegacyLithoViewRule()
+  @JvmField @Rule val legacyLithoTestRule: LegacyLithoTestRule = LegacyLithoTestRule()
 
   private lateinit var context: ComponentContext
 
   @Before
   fun setup() {
-    context = legacyLithoViewRule.context
+    context = legacyLithoTestRule.context
   }
 
   @Test
@@ -75,8 +75,8 @@ class TouchExpansionDelegateTest {
                     .touchExpansionPx(YogaEdge.ALL, 5))
             .paddingPx(YogaEdge.ALL, 10)
             .build()
-    legacyLithoViewRule.setRoot(component).attachToWindow().measure().layout()
-    legacyLithoViewRule.lithoView.emulateClickEvent(7, 7)
+    legacyLithoTestRule.setRoot(component).attachToWindow().measure().layout()
+    legacyLithoTestRule.lithoView.emulateClickEvent(7, 7)
     assertThat(callback.handled)
         .describedAs("TouchEvent within bounds bounds should be handled")
         .isTrue
@@ -98,8 +98,8 @@ class TouchExpansionDelegateTest {
                     .touchExpansionPx(YogaEdge.ALL, 5))
             .paddingPx(YogaEdge.ALL, 10)
             .build()
-    legacyLithoViewRule.setRoot(component).attachToWindow().measure().layout()
-    legacyLithoViewRule.lithoView.emulateClickEvent(2, 2)
+    legacyLithoTestRule.setRoot(component).attachToWindow().measure().layout()
+    legacyLithoTestRule.lithoView.emulateClickEvent(2, 2)
     assertThat(callback.handled)
         .describedAs("TouchEvent within bounds bounds should not be handled")
         .isFalse
@@ -118,16 +118,16 @@ class TouchExpansionDelegateTest {
                     .touchExpansionPx(YogaEdge.ALL, 5))
             .paddingPx(YogaEdge.ALL, 10)
             .build()
-    legacyLithoViewRule.setRoot(component).attachToWindow().measure().layout()
-    assertThat(legacyLithoViewRule.lithoView.touchExpansionDelegate?.size())
+    legacyLithoTestRule.setRoot(component).attachToWindow().measure().layout()
+    assertThat(legacyLithoTestRule.lithoView.touchExpansionDelegate?.size())
         .describedAs("touch expansion delegates should be present")
         .isEqualTo(1)
-    legacyLithoViewRule.lithoView.unmountAllItems()
-    legacyLithoViewRule.lithoView.emulateClickEvent(7, 7)
+    legacyLithoTestRule.lithoView.unmountAllItems()
+    legacyLithoTestRule.lithoView.emulateClickEvent(7, 7)
     assertThat(callback.handled)
         .describedAs("TouchEvent within bounds bounds should not be handled")
         .isFalse
-    assertThat(legacyLithoViewRule.lithoView.touchExpansionDelegate?.size())
+    assertThat(legacyLithoTestRule.lithoView.touchExpansionDelegate?.size())
         .describedAs("all touch expansion delegates should be released")
         .isEqualTo(0)
   }
@@ -145,7 +145,7 @@ class TouchExpansionDelegateTest {
                     .touchExpansionPx(YogaEdge.ALL, 5))
             .paddingPx(YogaEdge.ALL, 10)
             .build()
-    legacyLithoViewRule.setRoot(component).attachToWindow().measure().layout()
+    legacyLithoTestRule.setRoot(component).attachToWindow().measure().layout()
     val updated =
         Column.create(context)
             .child(
@@ -155,20 +155,20 @@ class TouchExpansionDelegateTest {
                     .callback(callback))
             .paddingPx(YogaEdge.ALL, 10)
             .build()
-    legacyLithoViewRule.setRoot(updated)
-    legacyLithoViewRule.lithoView.emulateClickEvent(7, 7)
+    legacyLithoTestRule.setRoot(updated)
+    legacyLithoTestRule.lithoView.emulateClickEvent(7, 7)
     assertThat(callback.handled)
         .describedAs("TouchEvent within bounds bounds should not be handled")
         .isFalse
-    legacyLithoViewRule.lithoView.emulateClickEvent(11, 11)
+    legacyLithoTestRule.lithoView.emulateClickEvent(11, 11)
     assertThat(callback.handled)
         .describedAs("TouchEvent within bounds bounds should be handled")
         .isTrue
     assertThat(callback.count)
         .describedAs("TouchEvent within bounds bounds should be handled only once")
         .isEqualTo(1)
-    legacyLithoViewRule.lithoView.unmountAllItems()
-    assertThat(legacyLithoViewRule.lithoView.touchExpansionDelegate?.size())
+    legacyLithoTestRule.lithoView.unmountAllItems()
+    assertThat(legacyLithoTestRule.lithoView.touchExpansionDelegate?.size())
         .describedAs("all touch expansion delegates should be released")
         .isEqualTo(0)
   }
@@ -186,7 +186,7 @@ class TouchExpansionDelegateTest {
                     .touchExpansionPx(YogaEdge.ALL, 5))
             .paddingPx(YogaEdge.ALL, 10)
             .build()
-    legacyLithoViewRule.setRoot(component).attachToWindow().measure().layout()
+    legacyLithoTestRule.setRoot(component).attachToWindow().measure().layout()
     val updated =
         Column.create(context)
             .child(Text.create(context).text("hello world").widthPx(10).heightPx(10))
@@ -198,12 +198,12 @@ class TouchExpansionDelegateTest {
                     .touchExpansionPx(YogaEdge.ALL, 5))
             .paddingPx(YogaEdge.ALL, 10)
             .build()
-    legacyLithoViewRule.setRoot(updated).measure().layout()
-    legacyLithoViewRule.lithoView.emulateClickEvent(7, 7)
+    legacyLithoTestRule.setRoot(updated).measure().layout()
+    legacyLithoTestRule.lithoView.emulateClickEvent(7, 7)
     assertThat(callback.handled)
         .describedAs("TouchEvent within bounds bounds should not be handled")
         .isFalse
-    legacyLithoViewRule.lithoView.emulateClickEvent(7, 21)
+    legacyLithoTestRule.lithoView.emulateClickEvent(7, 21)
     assertThat(callback.handled)
         .describedAs("TouchEvent within bounds bounds should be handled")
         .isTrue
diff --git a/litho-it/src/test/java/com/facebook/litho/TreeDiffingTest.kt b/litho-it/src/test/java/com/facebook/litho/TreeDiffingTest.kt
index fdc97bec209..ff80b62f885 100644
--- a/litho-it/src/test/java/com/facebook/litho/TreeDiffingTest.kt
+++ b/litho-it/src/test/java/com/facebook/litho/TreeDiffingTest.kt
@@ -24,7 +24,7 @@ import androidx.collection.SparseArrayCompat
 import com.facebook.litho.MountSpecLithoRenderUnit.UpdateState
 import com.facebook.litho.config.ComponentsConfiguration
 import com.facebook.litho.drawable.ComparableColorDrawable
-import com.facebook.litho.testing.LegacyLithoViewRule
+import com.facebook.litho.testing.LegacyLithoTestRule
 import com.facebook.litho.testing.TestComponent
 import com.facebook.litho.testing.TestDrawableComponent
 import com.facebook.litho.testing.TestSizeDependentComponent
@@ -54,8 +54,8 @@ class TreeDiffingTest {
 
   @JvmField
   @Rule
-  val legacyLithoViewRule =
-      LegacyLithoViewRule(
+  val legacyLithoTestRule =
+      LegacyLithoTestRule(
           ComponentsConfiguration.defaultInstance.copy(shouldAddHostViewForRootComponent = true))
 
   @Before
@@ -79,7 +79,7 @@ class TreeDiffingTest {
         }
     val layoutState =
         calculateLayoutStateWithDiffing(
-            legacyLithoViewRule.componentTree.context, component, exactly(350), exactly(200), null)
+            legacyLithoTestRule.componentTree.context, component, exactly(350), exactly(200), null)
 
     // Check diff tree is not null and consistent.
     val node = layoutState.diffTree
@@ -89,66 +89,66 @@ class TreeDiffingTest {
 
   @Test
   fun testCachedMeasureFunction() {
-    val c = legacyLithoViewRule.context
+    val c = legacyLithoTestRule.context
     val component0: Component = Text.create(c).text("hello-world").build()
-    legacyLithoViewRule.attachToWindow().setRoot(component0).layout().measure()
-    val diffNode = legacyLithoViewRule.committedLayoutState?.diffTree
+    legacyLithoTestRule.attachToWindow().setRoot(component0).layout().measure()
+    val diffNode = legacyLithoTestRule.committedLayoutState?.diffTree
     val component1: Component = Text.create(c).text("hello-world").build()
-    legacyLithoViewRule.setRoot(component1).layout().measure()
-    val result = legacyLithoViewRule.currentRootNode
+    legacyLithoTestRule.setRoot(component1).layout().measure()
+    val result = legacyLithoTestRule.currentRootNode
     assertThat(result?.width).isEqualTo(diffNode?.lastMeasuredWidth)
     assertThat(result?.height).isEqualTo(diffNode?.lastMeasuredHeight)
   }
 
   @Test
   fun tesLastConstraints() {
-    val c = legacyLithoViewRule.context
+    val c = legacyLithoTestRule.context
     val component0: Component = Text.create(c).text("hello-world").build()
-    legacyLithoViewRule.attachToWindow().setRoot(component0).layout().measure()
-    val diffNode = legacyLithoViewRule.committedLayoutState?.diffTree
+    legacyLithoTestRule.attachToWindow().setRoot(component0).layout().measure()
+    val diffNode = legacyLithoTestRule.committedLayoutState?.diffTree
     val component1: Component = Text.create(c).text("hello-world").build()
-    legacyLithoViewRule.setRoot(component1).layout().measure()
-    val result = legacyLithoViewRule.currentRootNode
+    legacyLithoTestRule.setRoot(component1).layout().measure()
+    val result = legacyLithoTestRule.currentRootNode
     assertThat(diffNode?.lastWidthSpec).isEqualTo(result?.widthSpec)
     assertThat(diffNode?.lastHeightSpec).isEqualTo(result?.heightSpec)
   }
 
   @Test
   fun testCachedMeasures() {
-    val c = legacyLithoViewRule.context
+    val c = legacyLithoTestRule.context
     val component0: Component =
         Column.create(c)
             .child(Text.create(c).text("hello-world").build())
             .child(Text.create(c).text("hello-world").build())
             .build()
-    legacyLithoViewRule.attachToWindow().setRoot(component0).layout().measure()
+    legacyLithoTestRule.attachToWindow().setRoot(component0).layout().measure()
     val component1: Component =
         Column.create(c)
             .child(Text.create(c).text("hello-world").build())
             .child(Text.create(c).text("hello-world").build())
             .build()
-    legacyLithoViewRule.setRoot(component1).layout().measure()
-    val result = legacyLithoViewRule.currentRootNode
+    legacyLithoTestRule.setRoot(component1).layout().measure()
+    val result = legacyLithoTestRule.currentRootNode
     assertThat(result?.getChildAt(0)?.cachedMeasuresValid).isTrue
     assertThat(result?.getChildAt(1)?.cachedMeasuresValid).isTrue
   }
 
   @Test
   fun testPartiallyCachedMeasures() {
-    val c = legacyLithoViewRule.context
+    val c = legacyLithoTestRule.context
     val component0: Component =
         Column.create(c)
             .child(Text.create(c).text("hello-world-1").build())
             .child(Text.create(c).text("hello-world-2").build())
             .build()
-    legacyLithoViewRule.attachToWindow().setRoot(component0).layout().measure()
+    legacyLithoTestRule.attachToWindow().setRoot(component0).layout().measure()
     val component1: Component =
         Column.create(c)
             .child(Text.create(c).text("hello-world-1").build())
             .child(Text.create(c).text("hello-world-3").build())
             .build()
-    legacyLithoViewRule.setRoot(component1).layout().measure()
-    val result = legacyLithoViewRule.currentRootNode
+    legacyLithoTestRule.setRoot(component1).layout().measure()
+    val result = legacyLithoTestRule.currentRootNode
     assertThat(result?.getChildAt(0)?.cachedMeasuresValid).isTrue
     assertThat(result?.getChildAt(1)?.cachedMeasuresValid).isFalse
   }
@@ -178,10 +178,10 @@ class TreeDiffingTest {
         }
     val prevLayoutState =
         calculateLayoutStateWithDiffing(
-            legacyLithoViewRule.componentTree.context, component1, exactly(350), exactly(200), null)
+            legacyLithoTestRule.componentTree.context, component1, exactly(350), exactly(200), null)
     val layoutState =
         calculateLayoutStateWithDiffing(
-            legacyLithoViewRule.componentTree.context,
+            legacyLithoTestRule.componentTree.context,
             component2,
             exactly(350),
             exactly(200),
@@ -223,10 +223,10 @@ class TreeDiffingTest {
         }
     val prevLayoutState =
         calculateLayoutStateWithDiffing(
-            legacyLithoViewRule.componentTree.context, component1, exactly(350), exactly(200), null)
+            legacyLithoTestRule.componentTree.context, component1, exactly(350), exactly(200), null)
     val layoutState =
         calculateLayoutStateWithDiffing(
-            legacyLithoViewRule.componentTree.context,
+            legacyLithoTestRule.componentTree.context,
             component2,
             exactly(350),
             exactly(200),
@@ -260,7 +260,7 @@ class TreeDiffingTest {
 
   @Test
   fun testComponentHostMoveItem() {
-    val c = legacyLithoViewRule.componentTree.context
+    val c = legacyLithoTestRule.componentTree.context
     val hostHolder = ComponentHost(c)
     val mountItem: MountItem = mock()
     whenever(mountItem.renderTreeNode).thenReturn(createNode(Column.create(c).build()))
@@ -283,7 +283,7 @@ class TreeDiffingTest {
 
   @Test
   fun testComponentHostMoveItemPartial() {
-    val c = legacyLithoViewRule.componentTree.context
+    val c = legacyLithoTestRule.componentTree.context
     val hostHolder = ComponentHost(c)
     val mountItem: MountItem = mock()
     whenever(mountItem.renderTreeNode).thenReturn(createNode(Column.create(c).build()))
@@ -316,19 +316,19 @@ class TreeDiffingTest {
 
   @Test
   fun testLayoutOutputUpdateState() {
-    val c = legacyLithoViewRule.context
+    val c = legacyLithoTestRule.context
     val firstComponent: Component = TestDrawableComponent.create(c).color(Color.BLACK).build()
     val secondComponent: Component = TestDrawableComponent.create(c).color(Color.BLACK).build()
     val thirdComponent: Component = TestDrawableComponent.create(c).color(Color.WHITE).build()
-    legacyLithoViewRule.setRoot(firstComponent).attachToWindow()
-    legacyLithoViewRule.setRootAndSizeSpecSync(firstComponent, exactly(10), exactly(10))
-    val state = legacyLithoViewRule.componentTree.mainThreadLayoutState
+    legacyLithoTestRule.setRoot(firstComponent).attachToWindow()
+    legacyLithoTestRule.setRootAndSizeSpecSync(firstComponent, exactly(10), exactly(10))
+    val state = legacyLithoTestRule.componentTree.mainThreadLayoutState
     assertOutputsState(state, MountSpecLithoRenderUnit.STATE_UNKNOWN)
-    legacyLithoViewRule.setRoot(secondComponent)
-    val secondState = legacyLithoViewRule.componentTree.mainThreadLayoutState
+    legacyLithoTestRule.setRoot(secondComponent)
+    val secondState = legacyLithoTestRule.componentTree.mainThreadLayoutState
     assertOutputsState(secondState, MountSpecLithoRenderUnit.STATE_UPDATED)
-    legacyLithoViewRule.setRoot(thirdComponent)
-    val thirdState = legacyLithoViewRule.componentTree.mainThreadLayoutState
+    legacyLithoTestRule.setRoot(thirdComponent)
+    val thirdState = legacyLithoTestRule.componentTree.mainThreadLayoutState
     assertOutputsState(thirdState, MountSpecLithoRenderUnit.STATE_DIRTY)
   }
 
@@ -337,15 +337,15 @@ class TreeDiffingTest {
     val component1: Component = TestLayoutSpecBgState(false)
     val component2: Component = TestLayoutSpecBgState(false)
     val component3: Component = TestLayoutSpecBgState(true)
-    legacyLithoViewRule.setRoot(component1).attachToWindow()
-    legacyLithoViewRule.setRootAndSizeSpecSync(component1, exactly(10), exactly(10))
-    val state = legacyLithoViewRule.componentTree.mainThreadLayoutState
+    legacyLithoTestRule.setRoot(component1).attachToWindow()
+    legacyLithoTestRule.setRootAndSizeSpecSync(component1, exactly(10), exactly(10))
+    val state = legacyLithoTestRule.componentTree.mainThreadLayoutState
     assertOutputsState(state, MountSpecLithoRenderUnit.STATE_UNKNOWN)
-    legacyLithoViewRule.setRoot(component2)
-    val secondState = legacyLithoViewRule.componentTree.mainThreadLayoutState
+    legacyLithoTestRule.setRoot(component2)
+    val secondState = legacyLithoTestRule.componentTree.mainThreadLayoutState
     assertThat(secondState?.getMountableOutputCount()).isEqualTo(4)
-    legacyLithoViewRule.setRoot(component3)
-    val thirdState = legacyLithoViewRule.componentTree.mainThreadLayoutState
+    legacyLithoTestRule.setRoot(component3)
+    val thirdState = legacyLithoTestRule.componentTree.mainThreadLayoutState
     assertThat(thirdState?.getMountableOutputCount()).isEqualTo(4)
     assertThat(
             MountSpecLithoRenderUnit.getUpdateState(
@@ -363,14 +363,14 @@ class TreeDiffingTest {
     val component1: Component = TestLayoutSpecInnerState(false)
     val component2: Component = TestLayoutSpecInnerState(false)
     val component3: Component = TestLayoutSpecInnerState(true)
-    legacyLithoViewRule.setRoot(component1).attachToWindow()
-    legacyLithoViewRule.setRootAndSizeSpecSync(component1, exactly(10), exactly(10))
-    val state = legacyLithoViewRule.componentTree.mainThreadLayoutState
+    legacyLithoTestRule.setRoot(component1).attachToWindow()
+    legacyLithoTestRule.setRootAndSizeSpecSync(component1, exactly(10), exactly(10))
+    val state = legacyLithoTestRule.componentTree.mainThreadLayoutState
     assertThat(
             MountSpecLithoRenderUnit.getUpdateState(requireNotNull(state?.getMountableOutputAt(2))))
         .isEqualTo(MountSpecLithoRenderUnit.STATE_UNKNOWN)
-    legacyLithoViewRule.setRoot(component2)
-    val secondState = legacyLithoViewRule.componentTree.mainThreadLayoutState
+    legacyLithoTestRule.setRoot(component2)
+    val secondState = legacyLithoTestRule.componentTree.mainThreadLayoutState
     assertThat(
             MountSpecLithoRenderUnit.getUpdateState(
                 requireNotNull(secondState?.getMountableOutputAt(2))))
@@ -379,8 +379,8 @@ class TreeDiffingTest {
             MountSpecLithoRenderUnit.getUpdateState(
                 requireNotNull(secondState?.getMountableOutputAt(3))))
         .isEqualTo(MountSpecLithoRenderUnit.STATE_UPDATED)
-    legacyLithoViewRule.setRoot(component3)
-    val thirdState = legacyLithoViewRule.componentTree.mainThreadLayoutState
+    legacyLithoTestRule.setRoot(component3)
+    val thirdState = legacyLithoTestRule.componentTree.mainThreadLayoutState
     assertThat(
             MountSpecLithoRenderUnit.getUpdateState(
                 requireNotNull(thirdState?.getMountableOutputAt(2))))
@@ -395,12 +395,12 @@ class TreeDiffingTest {
   fun testLayoutOutputUpdateStateIdClash() {
     val component1: Component = TestLayoutWithStateIdClash(false)
     val component2: Component = TestLayoutWithStateIdClash(true)
-    legacyLithoViewRule.setRoot(component1).attachToWindow()
-    legacyLithoViewRule.setRootAndSizeSpecSync(component1, exactly(10), exactly(10))
-    val state = legacyLithoViewRule.componentTree.mainThreadLayoutState
+    legacyLithoTestRule.setRoot(component1).attachToWindow()
+    legacyLithoTestRule.setRootAndSizeSpecSync(component1, exactly(10), exactly(10))
+    val state = legacyLithoTestRule.componentTree.mainThreadLayoutState
     assertOutputsState(state, MountSpecLithoRenderUnit.STATE_UNKNOWN)
-    legacyLithoViewRule.setRoot(component2)
-    val secondState = legacyLithoViewRule.componentTree.mainThreadLayoutState
+    legacyLithoTestRule.setRoot(component2)
+    val secondState = legacyLithoTestRule.componentTree.mainThreadLayoutState
     assertThat(6).isEqualTo(secondState?.getMountableOutputCount())
     assertThat(MountSpecLithoRenderUnit.STATE_DIRTY)
         .isEqualTo(
@@ -430,7 +430,7 @@ class TreeDiffingTest {
 
   @Test
   fun testDiffTreeUsedIfRootMeasureSpecsAreDifferentButChildHasSame() {
-    val c = legacyLithoViewRule.componentTree.context
+    val c = legacyLithoTestRule.componentTree.context
     val component: TestComponent = TestDrawableComponent.create(c).color(Color.BLACK).build()
     val layoutComponent: Component = TestSimpleContainerLayout2(component)
     val firstLayoutState =
@@ -445,7 +445,7 @@ class TreeDiffingTest {
 
   @Test
   fun testDiffTreeUsedIfMeasureSpecsAreSame() {
-    val c = legacyLithoViewRule.componentTree.context
+    val c = legacyLithoTestRule.componentTree.context
     val component: TestComponent = TestDrawableComponent.create(c).color(Color.BLACK).build()
     val layoutComponent: Component = TestSimpleContainerLayout(component, 0)
     val firstLayoutState =
@@ -464,10 +464,10 @@ class TreeDiffingTest {
     val component2: Component = TestNestedTreeDelegateWithUndefinedSizeLayout()
     val prevLayoutState =
         calculateLayoutStateWithDiffing(
-            legacyLithoViewRule.componentTree.context, component1, exactly(350), exactly(200), null)
+            legacyLithoTestRule.componentTree.context, component1, exactly(350), exactly(200), null)
     val layoutState =
         calculateLayoutStateWithDiffing(
-            legacyLithoViewRule.componentTree.context,
+            legacyLithoTestRule.componentTree.context,
             component2,
             exactly(350),
             exactly(200),
@@ -490,10 +490,10 @@ class TreeDiffingTest {
     val component2: Component = TestUndefinedSizeLayout()
     val prevLayoutState =
         calculateLayoutStateWithDiffing(
-            legacyLithoViewRule.componentTree.context, component1, exactly(350), exactly(200), null)
+            legacyLithoTestRule.componentTree.context, component1, exactly(350), exactly(200), null)
     val layoutState =
         calculateLayoutStateWithDiffing(
-            legacyLithoViewRule.componentTree.context,
+            legacyLithoTestRule.componentTree.context,
             component2,
             exactly(350),
             exactly(200),
@@ -627,7 +627,7 @@ class TreeDiffingTest {
             0,
             component,
             null,
-            legacyLithoViewRule.context,
+            legacyLithoTestRule.context,
             null,
             0,
             0,
diff --git a/litho-it/src/test/java/com/facebook/litho/ViewAttributeExtensionTest.kt b/litho-it/src/test/java/com/facebook/litho/ViewAttributeExtensionTest.kt
index 1cf83cf648f..2e7a3e060cd 100644
--- a/litho-it/src/test/java/com/facebook/litho/ViewAttributeExtensionTest.kt
+++ b/litho-it/src/test/java/com/facebook/litho/ViewAttributeExtensionTest.kt
@@ -23,7 +23,7 @@ import com.facebook.litho.core.height
 import com.facebook.litho.core.width
 import com.facebook.litho.kotlin.widget.SolidColor
 import com.facebook.litho.kotlin.widget.TextInput
-import com.facebook.litho.testing.LegacyLithoViewRule
+import com.facebook.litho.testing.LegacyLithoTestRule
 import com.facebook.litho.testing.LithoTestRule
 import com.facebook.litho.testing.testrunner.LithoTestRunner
 import com.facebook.litho.view.onClick
@@ -42,7 +42,7 @@ import org.junit.runner.RunWith
 @RunWith(LithoTestRunner::class)
 class ViewAttributeExtensionTest {
 
-  @JvmField @Rule var lithoViewRule: LegacyLithoViewRule = LegacyLithoViewRule()
+  @JvmField @Rule var lithoViewRule: LegacyLithoTestRule = LegacyLithoTestRule()
   @JvmField @Rule var lithoTestRule = LithoTestRule()
 
   @Test
diff --git a/litho-it/src/test/java/com/facebook/litho/VisibilityEventsWithVisibilityExtensionTest.kt b/litho-it/src/test/java/com/facebook/litho/VisibilityEventsWithVisibilityExtensionTest.kt
index 31c01b7fd29..c82a13d4569 100644
--- a/litho-it/src/test/java/com/facebook/litho/VisibilityEventsWithVisibilityExtensionTest.kt
+++ b/litho-it/src/test/java/com/facebook/litho/VisibilityEventsWithVisibilityExtensionTest.kt
@@ -18,7 +18,7 @@ package com.facebook.litho
 
 import android.widget.FrameLayout
 import com.facebook.litho.Column.Companion.create
-import com.facebook.litho.testing.LithoViewRule
+import com.facebook.litho.testing.LithoTestRule
 import com.facebook.litho.testing.Whitebox
 import com.facebook.litho.testing.testrunner.LithoTestRunner
 import com.facebook.litho.widget.Text
@@ -38,7 +38,7 @@ import org.mockito.kotlin.whenever
 @RunWith(LithoTestRunner::class)
 class VisibilityEventsWithVisibilityExtensionTest {
 
-  @JvmField @Rule val lithoViewRule = LithoViewRule()
+  @JvmField @Rule val lithoViewRule = LithoTestRule()
 
   @Test
   fun visibilityExtensionOnUnmountAllItems_shouldUnmount() {
diff --git a/litho-it/src/test/java/com/facebook/litho/WillRenderTest.kt b/litho-it/src/test/java/com/facebook/litho/WillRenderTest.kt
index 7b35497a745..5770368a794 100644
--- a/litho-it/src/test/java/com/facebook/litho/WillRenderTest.kt
+++ b/litho-it/src/test/java/com/facebook/litho/WillRenderTest.kt
@@ -20,7 +20,7 @@ import android.content.Context
 import android.view.View
 import androidx.test.core.app.ApplicationProvider
 import com.facebook.litho.LifecycleStep.StepInfo
-import com.facebook.litho.testing.LegacyLithoViewRule
+import com.facebook.litho.testing.LegacyLithoTestRule
 import com.facebook.litho.testing.assertj.LithoAssertions
 import com.facebook.litho.testing.inlinelayoutspec.InlineLayoutSpec
 import com.facebook.litho.testing.testrunner.LithoTestRunner
@@ -40,7 +40,7 @@ import org.robolectric.annotation.LooperMode
 @RunWith(LithoTestRunner::class)
 class WillRenderTest {
 
-  @JvmField @Rule val legacyLithoViewRule: LegacyLithoViewRule = LegacyLithoViewRule()
+  @JvmField @Rule val legacyLithoTestRule: LegacyLithoTestRule = LegacyLithoTestRule()
   @JvmField @Rule val expectedException = ExpectedException.none()
 
   private val nonNullSpec: InlineLayoutSpec =
@@ -65,21 +65,21 @@ class WillRenderTest {
 
   @Test
   fun testWillRenderForComponentThatReturnsNull() {
-    val c = legacyLithoViewRule.context
-    legacyLithoViewRule
+    val c = legacyLithoTestRule.context
+    legacyLithoTestRule
         .attachToWindow()
         .setRoot(Wrapper.create(c).delegate(null))
         .layout()
         .measure()
-    assertThat(legacyLithoViewRule.committedLayoutState?.root).isNull()
+    assertThat(legacyLithoTestRule.committedLayoutState?.root).isNull()
   }
 
   @Test
   fun testWillRenderForComponentThatReturnsNonNull() {
-    val c = legacyLithoViewRule.context
+    val c = legacyLithoTestRule.context
     c.setRenderStateContextForTests()
-    legacyLithoViewRule.setRoot(Wrapper.create(c).delegate(nonNullSpec).build())
-    LithoAssertions.assertThat(legacyLithoViewRule.lithoView).willRenderContent()
+    legacyLithoTestRule.setRoot(Wrapper.create(c).delegate(nonNullSpec).build())
+    LithoAssertions.assertThat(legacyLithoTestRule.lithoView).willRenderContent()
   }
 
   @Test
@@ -102,9 +102,9 @@ class WillRenderTest {
   fun testWillRender_cachedLayoutUsedInDifferentComponentHierarchy() {
     val info: List = ArrayList()
     val component =
-        LayoutSpecWillRenderTester.create(legacyLithoViewRule.context).steps(info).build()
-    legacyLithoViewRule.setRoot(component)
-    legacyLithoViewRule.attachToWindow().measure().layout()
+        LayoutSpecWillRenderTester.create(legacyLithoTestRule.context).steps(info).build()
+    legacyLithoTestRule.setRoot(component)
+    legacyLithoTestRule.attachToWindow().measure().layout()
     assertThat(LifecycleStep.getSteps(info))
         .describedAs("Should call the lifecycle methods in expected order")
         .containsExactly(
@@ -119,9 +119,9 @@ class WillRenderTest {
   fun testWillRender_cachedLayoutUsedInSameComponentHierarchy() {
     val info: List = ArrayList()
     val component =
-        LayoutSpecWillRenderReuseTester.create(legacyLithoViewRule.context).steps(info).build()
-    legacyLithoViewRule.setRoot(component)
-    legacyLithoViewRule.attachToWindow().measure().layout()
+        LayoutSpecWillRenderReuseTester.create(legacyLithoTestRule.context).steps(info).build()
+    legacyLithoTestRule.setRoot(component)
+    legacyLithoTestRule.attachToWindow().measure().layout()
     assertThat(LifecycleStep.getSteps(info))
         .describedAs("Should call the lifecycle methods in expected order")
         .containsExactly(
diff --git a/litho-it/src/test/java/com/facebook/litho/WrapperTest.kt b/litho-it/src/test/java/com/facebook/litho/WrapperTest.kt
index 475769138b2..62f599d21ee 100644
--- a/litho-it/src/test/java/com/facebook/litho/WrapperTest.kt
+++ b/litho-it/src/test/java/com/facebook/litho/WrapperTest.kt
@@ -16,7 +16,7 @@
 
 package com.facebook.litho
 
-import com.facebook.litho.testing.LegacyLithoViewRule
+import com.facebook.litho.testing.LegacyLithoTestRule
 import com.facebook.litho.testing.testrunner.LithoTestRunner
 import org.assertj.core.api.Assertions.assertThat
 import org.junit.Rule
@@ -25,12 +25,12 @@ import org.junit.runner.RunWith
 
 @RunWith(LithoTestRunner::class)
 class WrapperTest {
-  @JvmField @Rule var legacyLithoViewRule = LegacyLithoViewRule()
+  @JvmField @Rule var legacyLithoTestRule = LegacyLithoTestRule()
 
   @Test
   fun testWrapperWithNullComponentReturnsNullLayout() {
-    val c = legacyLithoViewRule.context
+    val c = legacyLithoTestRule.context
     val wrapper = Wrapper.create(c).delegate(null).build()
-    assertThat(LegacyLithoViewRule.getRootLayout(legacyLithoViewRule, wrapper)).isNull()
+    assertThat(LegacyLithoTestRule.getRootLayout(legacyLithoTestRule, wrapper)).isNull()
   }
 }
diff --git a/litho-it/src/test/java/com/facebook/litho/sections/processor/TreePropTest.java b/litho-it/src/test/java/com/facebook/litho/sections/processor/TreePropTest.java
index 317b1ed4413..4d15db68d40 100644
--- a/litho-it/src/test/java/com/facebook/litho/sections/processor/TreePropTest.java
+++ b/litho-it/src/test/java/com/facebook/litho/sections/processor/TreePropTest.java
@@ -26,7 +26,7 @@
 import com.facebook.litho.Component;
 import com.facebook.litho.ComponentContext;
 import com.facebook.litho.LithoView;
-import com.facebook.litho.testing.LegacyLithoViewRule;
+import com.facebook.litho.testing.LegacyLithoTestRule;
 import com.facebook.litho.testing.testrunner.LithoTestRunner;
 import com.facebook.litho.testing.treeprop.TreePropNumberType;
 import com.facebook.litho.testing.treeprop.TreePropStringType;
@@ -46,7 +46,7 @@
 @RunWith(LithoTestRunner.class)
 public class TreePropTest {
 
-  public final @Rule LegacyLithoViewRule mLegacyLithoViewRule = new LegacyLithoViewRule();
+  public final @Rule LegacyLithoTestRule mLegacyLithoTestRule = new LegacyLithoTestRule();
   private ComponentContext mContext;
 
   @Before
@@ -98,14 +98,14 @@ public void testTreePropsPropagated() {
   public void testTreePropChangeShouldUpdateMountSpec() {
     SimpleTreeProp treeProp = new SimpleTreeProp("sampleTreeProp");
     final Component component =
-        ComponentWithTreePropParent.create(mLegacyLithoViewRule.getContext())
+        ComponentWithTreePropParent.create(mLegacyLithoTestRule.getContext())
             .propA(treeProp)
             .build();
-    mLegacyLithoViewRule.setRoot(component);
+    mLegacyLithoTestRule.setRoot(component);
 
-    mLegacyLithoViewRule.attachToWindow().measure().layout();
+    mLegacyLithoTestRule.attachToWindow().measure().layout();
 
-    View view = mLegacyLithoViewRule.getLithoView().getChildAt(0);
+    View view = mLegacyLithoTestRule.getLithoView().getChildAt(0);
     assertThat(view).isNotNull();
     assertThat(view).isInstanceOf(TextView.class);
 
@@ -113,12 +113,12 @@ public void testTreePropChangeShouldUpdateMountSpec() {
 
     SimpleTreeProp treePropChanged = new SimpleTreeProp("sampleTreeProp_changed");
     final Component updatedComponent =
-        ComponentWithTreePropParent.create(mLegacyLithoViewRule.getContext())
+        ComponentWithTreePropParent.create(mLegacyLithoTestRule.getContext())
             .propA(treePropChanged)
             .build();
-    mLegacyLithoViewRule.setRoot(updatedComponent);
+    mLegacyLithoTestRule.setRoot(updatedComponent);
 
-    view = mLegacyLithoViewRule.getLithoView().getChildAt(0);
+    view = mLegacyLithoTestRule.getLithoView().getChildAt(0);
     assertThat(view).isNotNull();
     assertThat(view).isInstanceOf(TextView.class);
 
diff --git a/litho-it/src/test/java/com/facebook/litho/sections/widget/RecyclerCollectionComponentSpecTest.java b/litho-it/src/test/java/com/facebook/litho/sections/widget/RecyclerCollectionComponentSpecTest.java
index f50bae25d77..425179db1cf 100644
--- a/litho-it/src/test/java/com/facebook/litho/sections/widget/RecyclerCollectionComponentSpecTest.java
+++ b/litho-it/src/test/java/com/facebook/litho/sections/widget/RecyclerCollectionComponentSpecTest.java
@@ -44,7 +44,7 @@
 import com.facebook.litho.config.LithoDebugConfigurations;
 import com.facebook.litho.sections.SectionContext;
 import com.facebook.litho.sections.common.SingleComponentSection;
-import com.facebook.litho.testing.LegacyLithoViewRule;
+import com.facebook.litho.testing.LegacyLithoTestRule;
 import com.facebook.litho.testing.inlinelayoutspec.InlineLayoutSpec;
 import com.facebook.litho.testing.state.StateUpdatesTestHelper;
 import com.facebook.litho.testing.testrunner.LithoTestRunner;
@@ -70,7 +70,7 @@ public class RecyclerCollectionComponentSpecTest {
   private final ComponentsConfiguration config =
       ComponentsConfiguration.create().shouldAddHostViewForRootComponent(true).build();
 
-  @Rule public final LegacyLithoViewRule mLegacyLithoViewRule = new LegacyLithoViewRule(config);
+  @Rule public final LegacyLithoTestRule mLegacyLithoTestRule = new LegacyLithoTestRule(config);
 
   private ComponentContext mComponentContext;
   private Component mLoadingComponent;
@@ -242,12 +242,12 @@ public void performStateUpdate(ComponentContext context) {
 
   @Test
   public void testInitialState() throws Exception {
-    mLegacyLithoViewRule
+    mLegacyLithoTestRule
         .setRoot(mRecyclerCollectionComponent)
         .setSizeSpecs(makeSizeSpec(10, SizeSpec.EXACTLY), makeSizeSpec(5, SizeSpec.EXACTLY));
-    mLegacyLithoViewRule.attachToWindow().measure().layout().setSizeSpecs(10, 10);
+    mLegacyLithoTestRule.attachToWindow().measure().layout().setSizeSpecs(10, 10);
 
-    ViewTreeAssert.assertThat(ViewTree.of(mLegacyLithoViewRule.getLithoView()))
+    ViewTreeAssert.assertThat(ViewTree.of(mLegacyLithoTestRule.getLithoView()))
         .hasVisibleText("loading")
         .hasVisibleText("content")
         .doesNotHaveVisibleText("empty")
@@ -256,12 +256,12 @@ public void testInitialState() throws Exception {
 
   @Test
   public void testNestedIncrementalMountDisabled() {
-    mLegacyLithoViewRule.useComponentTree(
+    mLegacyLithoTestRule.useComponentTree(
         ComponentTree.create(mComponentContext)
             .incrementalMount(false)
             .componentsConfiguration(config)
             .build());
-    mLegacyLithoViewRule
+    mLegacyLithoTestRule
         .setRoot(
             RecyclerCollectionComponent.create(mComponentContext)
                 .section(
@@ -274,17 +274,17 @@ public void testNestedIncrementalMountDisabled() {
                         .build())
                 .build())
         .setSizeSpecs(makeSizeSpec(10, SizeSpec.EXACTLY), makeSizeSpec(5, SizeSpec.EXACTLY));
-    mLegacyLithoViewRule.attachToWindow().measure().layout().setSizeSpecs(10, 10);
+    mLegacyLithoTestRule.attachToWindow().measure().layout().setSizeSpecs(10, 10);
 
     final LithoView childView =
-        (LithoView) findViewWithTag(mLegacyLithoViewRule.getLithoView(), "rv_row").getParent();
+        (LithoView) findViewWithTag(mLegacyLithoTestRule.getLithoView(), "rv_row").getParent();
     assertThat(childView).isNotNull();
     assertThat(childView.getComponentTree().isIncrementalMountEnabled()).isFalse();
   }
 
   @Test
   public void testNestedIncrementalMountNormal() {
-    mLegacyLithoViewRule
+    mLegacyLithoTestRule
         .setRoot(
             RecyclerCollectionComponent.create(mComponentContext)
                 .section(
@@ -297,17 +297,17 @@ public void testNestedIncrementalMountNormal() {
                         .build())
                 .build())
         .setSizeSpecs(makeSizeSpec(10, SizeSpec.EXACTLY), makeSizeSpec(5, SizeSpec.EXACTLY));
-    mLegacyLithoViewRule.attachToWindow().measure().layout().setSizeSpecs(10, 10);
+    mLegacyLithoTestRule.attachToWindow().measure().layout().setSizeSpecs(10, 10);
 
     final LithoView childView =
-        (LithoView) findViewWithTag(mLegacyLithoViewRule.getLithoView(), "rv_row").getParent();
+        (LithoView) findViewWithTag(mLegacyLithoTestRule.getLithoView(), "rv_row").getParent();
     assertThat(childView).isNotNull();
     assertThat(childView.getComponentTree().isIncrementalMountEnabled()).isTrue();
   }
 
   @Test
   public void rcc_insertLayoutSpecWorkingRangeTester_workingRangeIsRegisteredAndEntered() {
-    final ComponentContext componentContext = mLegacyLithoViewRule.getContext();
+    final ComponentContext componentContext = mLegacyLithoTestRule.getContext();
     final List info = new ArrayList<>();
     final Component component =
         LayoutSpecWorkingRangeTester.create(componentContext).steps(info).heightPx(100).build();
@@ -322,9 +322,9 @@ public void rcc_insertLayoutSpecWorkingRangeTester_workingRangeIsRegisteredAndEn
                     .component(component)
                     .build())
             .build();
-    mLegacyLithoViewRule.setRoot(rcc).setSizeSpecs(exactly(100), exactly(100));
+    mLegacyLithoTestRule.setRoot(rcc).setSizeSpecs(exactly(100), exactly(100));
 
-    mLegacyLithoViewRule.attachToWindow().measure().layout();
+    mLegacyLithoTestRule.attachToWindow().measure().layout();
 
     assertThat(getSteps(info))
         .describedAs("Should register and enter working range in expected order")
@@ -333,7 +333,7 @@ public void rcc_insertLayoutSpecWorkingRangeTester_workingRangeIsRegisteredAndEn
 
   @Test
   public void rcc_insertMountSpecWorkingRangeTester_workingRangeIsRegisteredAndEntered() {
-    final ComponentContext componentContext = mLegacyLithoViewRule.getContext();
+    final ComponentContext componentContext = mLegacyLithoTestRule.getContext();
     final List info = new ArrayList<>();
     final Component component =
         MountSpecWorkingRangeTester.create(componentContext).steps(info).heightPx(100).build();
@@ -346,9 +346,9 @@ public void rcc_insertMountSpecWorkingRangeTester_workingRangeIsRegisteredAndEnt
                     .component(component)
                     .build())
             .build();
-    mLegacyLithoViewRule.setRoot(rcc).setSizeSpecs(exactly(100), exactly(100));
+    mLegacyLithoTestRule.setRoot(rcc).setSizeSpecs(exactly(100), exactly(100));
 
-    mLegacyLithoViewRule.attachToWindow().measure().layout();
+    mLegacyLithoTestRule.attachToWindow().measure().layout();
 
     assertThat(getSteps(info))
         .describedAs("Should register and enter working range in expected order")
diff --git a/litho-it/src/test/java/com/facebook/litho/testing/assertj/SubComponentDeepExtractorTest.java b/litho-it/src/test/java/com/facebook/litho/testing/assertj/SubComponentDeepExtractorTest.java
index 0ce0399cf07..302e17f9a16 100644
--- a/litho-it/src/test/java/com/facebook/litho/testing/assertj/SubComponentDeepExtractorTest.java
+++ b/litho-it/src/test/java/com/facebook/litho/testing/assertj/SubComponentDeepExtractorTest.java
@@ -25,7 +25,7 @@
 import com.facebook.litho.Component;
 import com.facebook.litho.ComponentContext;
 import com.facebook.litho.config.LithoDebugConfigurations;
-import com.facebook.litho.testing.LegacyLithoViewRule;
+import com.facebook.litho.testing.LegacyLithoTestRule;
 import com.facebook.litho.testing.inlinelayoutspec.InlineLayoutSpec;
 import com.facebook.litho.testing.testrunner.LithoTestRunner;
 import com.facebook.litho.widget.Card;
@@ -39,7 +39,7 @@
 @LooperMode(LooperMode.Mode.LEGACY)
 @RunWith(LithoTestRunner.class)
 public class SubComponentDeepExtractorTest {
-  @Rule public LegacyLithoViewRule mLegacyLithoViewRule = new LegacyLithoViewRule();
+  @Rule public LegacyLithoTestRule mLegacyLithoTestRule = new LegacyLithoTestRule();
 
   private Component mComponent;
 
@@ -63,15 +63,15 @@ protected Component onCreateLayout(ComponentContext c) {
 
   @Test
   public void testDeep() {
-    final ComponentContext c = mLegacyLithoViewRule.getContext();
+    final ComponentContext c = mLegacyLithoTestRule.getContext();
     assertThat(c, mComponent)
         // We don't have a shallow Text component ...
         .doesNotHave(
             SubComponentExtractor.subComponentWith(
-                mLegacyLithoViewRule.getContext(), inspectedTypeIs(Text.class)))
+                mLegacyLithoTestRule.getContext(), inspectedTypeIs(Text.class)))
         // ... but we do have one deep down.
         .has(
             SubComponentDeepExtractor.deepSubComponentWith(
-                mLegacyLithoViewRule.getContext(), inspectedTypeIs(Text.class)));
+                mLegacyLithoTestRule.getContext(), inspectedTypeIs(Text.class)));
   }
 }
diff --git a/litho-it/src/test/java/com/facebook/litho/testing/subcomponents/CommonPropMatcherTest.java b/litho-it/src/test/java/com/facebook/litho/testing/subcomponents/CommonPropMatcherTest.java
index afae993f210..0802a064305 100644
--- a/litho-it/src/test/java/com/facebook/litho/testing/subcomponents/CommonPropMatcherTest.java
+++ b/litho-it/src/test/java/com/facebook/litho/testing/subcomponents/CommonPropMatcherTest.java
@@ -26,7 +26,7 @@
 import com.facebook.litho.ComponentContext;
 import com.facebook.litho.Row;
 import com.facebook.litho.config.LithoDebugConfigurations;
-import com.facebook.litho.testing.LegacyLithoViewRule;
+import com.facebook.litho.testing.LegacyLithoTestRule;
 import com.facebook.litho.testing.testrunner.LithoTestRunner;
 import com.facebook.litho.widget.Card;
 import com.facebook.litho.widget.TestCard;
@@ -39,7 +39,7 @@
 @LooperMode(LooperMode.Mode.LEGACY)
 @RunWith(LithoTestRunner.class)
 public class CommonPropMatcherTest {
-  @Rule public LegacyLithoViewRule mLegacyLithoViewRule = new LegacyLithoViewRule();
+  @Rule public LegacyLithoTestRule mLegacyLithoTestRule = new LegacyLithoTestRule();
 
   @Before
   public void setUp() {
@@ -51,7 +51,7 @@ public void setUp() {
 
   @Test
   public void testTransitionKeyMatcher() {
-    final ComponentContext c = mLegacyLithoViewRule.getContext();
+    final ComponentContext c = mLegacyLithoTestRule.getContext();
     final String key = "nocolusion";
 
     final Component component =
diff --git a/litho-it/src/test/java/com/facebook/litho/testing/subcomponents/GenericMatcherGenerationTest.java b/litho-it/src/test/java/com/facebook/litho/testing/subcomponents/GenericMatcherGenerationTest.java
index cb543ff7130..4dd27460af2 100644
--- a/litho-it/src/test/java/com/facebook/litho/testing/subcomponents/GenericMatcherGenerationTest.java
+++ b/litho-it/src/test/java/com/facebook/litho/testing/subcomponents/GenericMatcherGenerationTest.java
@@ -26,7 +26,7 @@
 import com.facebook.litho.EventDispatcher;
 import com.facebook.litho.HasEventDispatcher;
 import com.facebook.litho.config.LithoDebugConfigurations;
-import com.facebook.litho.testing.LegacyLithoViewRule;
+import com.facebook.litho.testing.LegacyLithoTestRule;
 import com.facebook.litho.testing.specmodels.MyGeneric;
 import com.facebook.litho.testing.specmodels.TestMyGeneric;
 import com.facebook.litho.testing.testrunner.LithoTestRunner;
@@ -40,7 +40,7 @@
 @LooperMode(LooperMode.Mode.LEGACY)
 @RunWith(LithoTestRunner.class)
 public class GenericMatcherGenerationTest {
-  @Rule public LegacyLithoViewRule mLegacyLithoViewRule = new LegacyLithoViewRule();
+  @Rule public LegacyLithoTestRule mLegacyLithoTestRule = new LegacyLithoTestRule();
 
   private final GenericProp mGenericProp = new GenericProp();
 
@@ -54,7 +54,7 @@ public void setUp() {
 
   @Test
   public void testGenericPropMatching() {
-    final ComponentContext c = mLegacyLithoViewRule.getContext();
+    final ComponentContext c = mLegacyLithoTestRule.getContext();
     final Component component = MyGeneric.create(c).genericProp(mGenericProp).build();
     final Condition matcher =
         TestMyGeneric.matcher(c).genericProp(mGenericProp).build();
diff --git a/litho-it/src/test/java/com/facebook/litho/widget/EditTextSpecTest.java b/litho-it/src/test/java/com/facebook/litho/widget/EditTextSpecTest.java
index e2f8df10bf4..0b2669c6748 100644
--- a/litho-it/src/test/java/com/facebook/litho/widget/EditTextSpecTest.java
+++ b/litho-it/src/test/java/com/facebook/litho/widget/EditTextSpecTest.java
@@ -20,7 +20,7 @@
 
 import com.facebook.litho.ComponentContext;
 import com.facebook.litho.LithoView;
-import com.facebook.litho.testing.LegacyLithoViewRule;
+import com.facebook.litho.testing.LegacyLithoTestRule;
 import com.facebook.litho.testing.helper.ComponentTestHelper;
 import com.facebook.litho.testing.testrunner.LithoTestRunner;
 import org.junit.Rule;
@@ -30,13 +30,13 @@
 /** Tests {@link EditText} component. */
 @RunWith(LithoTestRunner.class)
 public class EditTextSpecTest {
-  @Rule public LegacyLithoViewRule mLegacyLithoViewRule = new LegacyLithoViewRule();
+  @Rule public LegacyLithoTestRule mLegacyLithoTestRule = new LegacyLithoTestRule();
 
   private static final String TEXT = "Hello Components";
 
   @Test
   public void testEditTextWithText() {
-    final ComponentContext c = mLegacyLithoViewRule.getContext();
+    final ComponentContext c = mLegacyLithoTestRule.getContext();
     final LithoView lithoView =
         ComponentTestHelper.mountComponent(
             EditText.create(c).textChangedEventHandler(null).textSizePx(10).text(TEXT));
diff --git a/litho-it/src/test/java/com/facebook/litho/widget/TextInputSpecTest.java b/litho-it/src/test/java/com/facebook/litho/widget/TextInputSpecTest.java
index 9cb08bd4b5a..c5bef11a2df 100644
--- a/litho-it/src/test/java/com/facebook/litho/widget/TextInputSpecTest.java
+++ b/litho-it/src/test/java/com/facebook/litho/widget/TextInputSpecTest.java
@@ -36,7 +36,7 @@
 import com.facebook.litho.Handle;
 import com.facebook.litho.LithoView;
 import com.facebook.litho.it.R;
-import com.facebook.litho.testing.LegacyLithoViewRule;
+import com.facebook.litho.testing.LegacyLithoTestRule;
 import com.facebook.litho.testing.eventhandler.EventHandlerTestHelper;
 import com.facebook.litho.testing.helper.ComponentTestHelper;
 import com.facebook.litho.testing.testrunner.LithoTestRunner;
@@ -53,7 +53,7 @@
 public class TextInputSpecTest {
   private ComponentContext mContext;
 
-  public @Rule LegacyLithoViewRule mLegacyLithoViewRule = new LegacyLithoViewRule();
+  public @Rule LegacyLithoTestRule mLegacyLithoTestRule = new LegacyLithoTestRule();
 
   @Before
   public void setup() {
@@ -189,19 +189,19 @@ public Object handleEvent(InputConnectionEvent event) {
   @Test
   public void textInput_getTextTrigger_returnsCurrentText() {
     final Handle handle = new Handle();
-    mLegacyLithoViewRule
+    mLegacyLithoTestRule
         .setRoot(
-            Column.create(mLegacyLithoViewRule.getContext())
-                .child(TextInput.create(mLegacyLithoViewRule.getContext()).handle(handle)))
+            Column.create(mLegacyLithoTestRule.getContext())
+                .child(TextInput.create(mLegacyLithoTestRule.getContext()).handle(handle)))
         .measure()
         .layout()
         .attachToWindow();
 
-    getEditText(mLegacyLithoViewRule.getLithoView()).setText("text for test");
+    getEditText(mLegacyLithoTestRule.getLithoView()).setText("text for test");
 
     // We need a context with a ComponentTree on it for the Handle to properly resolve
     final CharSequence text =
-        TextInput.getText(mLegacyLithoViewRule.getComponentTree().getContext(), handle);
+        TextInput.getText(mLegacyLithoTestRule.getComponentTree().getContext(), handle);
     assertThat(text).isNotNull();
     assertThat(text.toString()).isEqualTo("text for test");
   }
@@ -209,38 +209,38 @@ public void textInput_getTextTrigger_returnsCurrentText() {
   @Test
   public void textInput_setTextTrigger_setsText() {
     final Handle handle = new Handle();
-    mLegacyLithoViewRule
+    mLegacyLithoTestRule
         .setRoot(
-            Column.create(mLegacyLithoViewRule.getContext())
-                .child(TextInput.create(mLegacyLithoViewRule.getContext()).handle(handle)))
+            Column.create(mLegacyLithoTestRule.getContext())
+                .child(TextInput.create(mLegacyLithoTestRule.getContext()).handle(handle)))
         .measure()
         .layout()
         .attachToWindow();
 
     // We need a context with a ComponentTree on it for the Handle to properly resolve
     TextInput.setText(
-        mLegacyLithoViewRule.getComponentTree().getContext(), handle, "set text in test");
-    assertThat(getEditText(mLegacyLithoViewRule.getLithoView()).getText().toString())
+        mLegacyLithoTestRule.getComponentTree().getContext(), handle, "set text in test");
+    assertThat(getEditText(mLegacyLithoTestRule.getLithoView()).getText().toString())
         .isEqualTo("set text in test");
   }
 
   @Test
   public void textInput_getTextTriggerFromUnmountedView_returnsCurrentText() {
     final Handle handle = new Handle();
-    mLegacyLithoViewRule
+    mLegacyLithoTestRule
         .setRoot(
-            Column.create(mLegacyLithoViewRule.getContext())
-                .child(TextInput.create(mLegacyLithoViewRule.getContext()).handle(handle)))
+            Column.create(mLegacyLithoTestRule.getContext())
+                .child(TextInput.create(mLegacyLithoTestRule.getContext()).handle(handle)))
         .measure()
         .layout()
         .attachToWindow();
 
-    getEditText(mLegacyLithoViewRule.getLithoView()).setText("text for test");
-    mLegacyLithoViewRule.getLithoView().unmountAllItems();
+    getEditText(mLegacyLithoTestRule.getLithoView()).setText("text for test");
+    mLegacyLithoTestRule.getLithoView().unmountAllItems();
 
     // We need a context with a ComponentTree on it for the Handle to properly resolve
     final CharSequence text =
-        TextInput.getText(mLegacyLithoViewRule.getComponentTree().getContext(), handle);
+        TextInput.getText(mLegacyLithoTestRule.getComponentTree().getContext(), handle);
     assertThat(text).isNotNull();
     assertThat(text.toString()).isEqualTo("text for test");
   }
@@ -248,55 +248,55 @@ public void textInput_getTextTriggerFromUnmountedView_returnsCurrentText() {
   @Test
   public void textInput_setTextTriggerForUnmountedView_setsTextAfterMount() {
     final Handle handle = new Handle();
-    mLegacyLithoViewRule
+    mLegacyLithoTestRule
         .setRoot(
-            Column.create(mLegacyLithoViewRule.getContext())
-                .child(TextInput.create(mLegacyLithoViewRule.getContext()).handle(handle)))
+            Column.create(mLegacyLithoTestRule.getContext())
+                .child(TextInput.create(mLegacyLithoTestRule.getContext()).handle(handle)))
         .measure()
         .layout()
         .attachToWindow();
 
-    mLegacyLithoViewRule.getLithoView().unmountAllItems();
+    mLegacyLithoTestRule.getLithoView().unmountAllItems();
 
     // We need a context with a ComponentTree on it for the Handle to properly resolve
     TextInput.setText(
-        mLegacyLithoViewRule.getComponentTree().getContext(), handle, "set text in test");
+        mLegacyLithoTestRule.getComponentTree().getContext(), handle, "set text in test");
     final CharSequence text =
-        TextInput.getText(mLegacyLithoViewRule.getComponentTree().getContext(), handle);
+        TextInput.getText(mLegacyLithoTestRule.getComponentTree().getContext(), handle);
     assertThat(text).isNotNull();
     assertThat(text.toString()).isEqualTo("set text in test");
 
     // Mount the view again
-    mLegacyLithoViewRule.layout();
+    mLegacyLithoTestRule.layout();
 
-    assertThat(getEditText(mLegacyLithoViewRule.getLithoView()).getText().toString())
+    assertThat(getEditText(mLegacyLithoTestRule.getLithoView()).getText().toString())
         .isEqualTo("set text in test");
   }
 
   @Test
   public void textInput_updateWithNewTextInputAndUseGetTextTrigger_returnsCurrentText() {
-    mLegacyLithoViewRule
+    mLegacyLithoTestRule
         .setRoot(
-            Column.create(mLegacyLithoViewRule.getContext())
-                .child(TextInput.create(mLegacyLithoViewRule.getContext())))
+            Column.create(mLegacyLithoTestRule.getContext())
+                .child(TextInput.create(mLegacyLithoTestRule.getContext())))
         .measure()
         .layout()
         .attachToWindow();
 
     final Handle handle = new Handle();
-    mLegacyLithoViewRule
+    mLegacyLithoTestRule
         .setRoot(
-            Column.create(mLegacyLithoViewRule.getContext())
+            Column.create(mLegacyLithoTestRule.getContext())
                 .child(
-                    TextInput.create(mLegacyLithoViewRule.getContext())
+                    TextInput.create(mLegacyLithoTestRule.getContext())
                         .key("different_key")
                         .handle(handle)))
         .layout();
 
-    getEditText(mLegacyLithoViewRule.getLithoView()).setText("text for test");
+    getEditText(mLegacyLithoTestRule.getLithoView()).setText("text for test");
 
     CharSequence text =
-        TextInput.getText(mLegacyLithoViewRule.getComponentTree().getContext(), handle);
+        TextInput.getText(mLegacyLithoTestRule.getComponentTree().getContext(), handle);
     assertThat(text).isNotNull();
     assertThat(text.toString()).isEqualTo("text for test");
   }
@@ -312,20 +312,20 @@ private static EditText getEditText(LithoView lithoView) {
   @Test
   public void textInput_setReplaceText_replacesText() {
     final Handle handle = new Handle();
-    mLegacyLithoViewRule
+    mLegacyLithoTestRule
         .setRoot(
-            Column.create(mLegacyLithoViewRule.getContext())
-                .child(TextInput.create(mLegacyLithoViewRule.getContext()).handle(handle)))
+            Column.create(mLegacyLithoTestRule.getContext())
+                .child(TextInput.create(mLegacyLithoTestRule.getContext()).handle(handle)))
         .measure()
         .layout()
         .attachToWindow();
 
     final CharSequence textToSet = "set text in test";
-    final EditText editText = getEditText(mLegacyLithoViewRule.getLithoView());
+    final EditText editText = getEditText(mLegacyLithoTestRule.getLithoView());
 
     // We need a context with a ComponentTree on it for the Handle to properly resolve
     TextInput.replaceText(
-        mLegacyLithoViewRule.getComponentTree().getContext(), handle, textToSet, 0, 0, false);
+        mLegacyLithoTestRule.getComponentTree().getContext(), handle, textToSet, 0, 0, false);
     assertThat(editText.getText().toString()).isEqualTo(textToSet);
     assertThat(editText.getSelectionStart()).isEqualTo(textToSet.length());
     assertThat(editText.getSelectionEnd()).isEqualTo(textToSet.length());
@@ -334,23 +334,23 @@ public void textInput_setReplaceText_replacesText() {
   @Test
   public void textInput_setReplaceText_replacesTextWithSkippedSelection() {
     final Handle handle = new Handle();
-    mLegacyLithoViewRule
+    mLegacyLithoTestRule
         .setRoot(
-            Column.create(mLegacyLithoViewRule.getContext())
-                .child(TextInput.create(mLegacyLithoViewRule.getContext()).handle(handle)))
+            Column.create(mLegacyLithoTestRule.getContext())
+                .child(TextInput.create(mLegacyLithoTestRule.getContext()).handle(handle)))
         .measure()
         .layout()
         .attachToWindow();
 
     final CharSequence initialText = "some text with suggestion";
     final CharSequence textToSet = "";
-    final EditText editText = getEditText(mLegacyLithoViewRule.getLithoView());
-    TextInput.setText(mLegacyLithoViewRule.getComponentTree().getContext(), handle, initialText);
+    final EditText editText = getEditText(mLegacyLithoTestRule.getLithoView());
+    TextInput.setText(mLegacyLithoTestRule.getComponentTree().getContext(), handle, initialText);
     editText.setSelection(5);
 
     // We need a context with a ComponentTree on it for the Handle to properly resolve
     TextInput.replaceText(
-        mLegacyLithoViewRule.getComponentTree().getContext(),
+        mLegacyLithoTestRule.getComponentTree().getContext(),
         handle,
         textToSet,
         9,
@@ -364,21 +364,21 @@ public void textInput_setReplaceText_replacesTextWithSkippedSelection() {
   @Test
   public void textInput_setReplaceText_replacesTextAtGivenIndices() {
     final Handle handle = new Handle();
-    mLegacyLithoViewRule
+    mLegacyLithoTestRule
         .setRoot(
-            Column.create(mLegacyLithoViewRule.getContext())
-                .child(TextInput.create(mLegacyLithoViewRule.getContext()).handle(handle)))
+            Column.create(mLegacyLithoTestRule.getContext())
+                .child(TextInput.create(mLegacyLithoTestRule.getContext()).handle(handle)))
         .measure()
         .layout()
         .attachToWindow();
 
-    final EditText editText = getEditText(mLegacyLithoViewRule.getLithoView());
+    final EditText editText = getEditText(mLegacyLithoTestRule.getLithoView());
     editText.setText("0123");
     final CharSequence textToSet = "set text in test";
 
     // We need a context with a ComponentTree on it for the Handle to properly resolve
     TextInput.replaceText(
-        mLegacyLithoViewRule.getComponentTree().getContext(), handle, textToSet, 0, 2, false);
+        mLegacyLithoTestRule.getComponentTree().getContext(), handle, textToSet, 0, 2, false);
     assertThat(editText.getText().toString()).isEqualTo(textToSet + "23");
     assertThat(editText.getSelectionStart()).isEqualTo(textToSet.length());
     assertThat(editText.getSelectionEnd()).isEqualTo(textToSet.length());
@@ -387,63 +387,63 @@ public void textInput_setReplaceText_replacesTextAtGivenIndices() {
   @Test
   public void textInput_setReplaceTextForUnmountedView_replacesTextAfterMount() {
     final Handle handle = new Handle();
-    mLegacyLithoViewRule
+    mLegacyLithoTestRule
         .setRoot(
-            Column.create(mLegacyLithoViewRule.getContext())
-                .child(TextInput.create(mLegacyLithoViewRule.getContext()).handle(handle)))
+            Column.create(mLegacyLithoTestRule.getContext())
+                .child(TextInput.create(mLegacyLithoTestRule.getContext()).handle(handle)))
         .measure()
         .layout()
         .attachToWindow();
 
-    mLegacyLithoViewRule.getLithoView().unmountAllItems();
+    mLegacyLithoTestRule.getLithoView().unmountAllItems();
 
     final CharSequence textToSet = "set text in test";
 
     // We need a context with a ComponentTree on it for the Handle to properly resolve
     TextInput.replaceText(
-        mLegacyLithoViewRule.getComponentTree().getContext(), handle, textToSet, 0, 0, false);
+        mLegacyLithoTestRule.getComponentTree().getContext(), handle, textToSet, 0, 0, false);
     final CharSequence text =
-        TextInput.getText(mLegacyLithoViewRule.getComponentTree().getContext(), handle);
+        TextInput.getText(mLegacyLithoTestRule.getComponentTree().getContext(), handle);
     assertThat(text).isNotNull();
     assertThat(text.toString()).isEqualTo(textToSet);
 
     // Mount the view again
-    mLegacyLithoViewRule.layout();
+    mLegacyLithoTestRule.layout();
 
-    assertThat(getEditText(mLegacyLithoViewRule.getLithoView()).getText().toString())
+    assertThat(getEditText(mLegacyLithoTestRule.getLithoView()).getText().toString())
         .isEqualTo(textToSet);
   }
 
   @Test
   public void textInput_setReplaceTextForUnmountedViewWithExistingText_replacesTextAfterMount() {
     final Handle handle = new Handle();
-    mLegacyLithoViewRule
+    mLegacyLithoTestRule
         .setRoot(
-            Column.create(mLegacyLithoViewRule.getContext())
-                .child(TextInput.create(mLegacyLithoViewRule.getContext()).handle(handle)))
+            Column.create(mLegacyLithoTestRule.getContext())
+                .child(TextInput.create(mLegacyLithoTestRule.getContext()).handle(handle)))
         .measure()
         .layout()
         .attachToWindow();
 
-    final EditText editText = getEditText(mLegacyLithoViewRule.getLithoView());
+    final EditText editText = getEditText(mLegacyLithoTestRule.getLithoView());
     editText.setText("0123");
 
-    mLegacyLithoViewRule.getLithoView().unmountAllItems();
+    mLegacyLithoTestRule.getLithoView().unmountAllItems();
 
     final CharSequence textToSet = "set text in test";
 
     // We need a context with a ComponentTree on it for the Handle to properly resolve
     TextInput.replaceText(
-        mLegacyLithoViewRule.getComponentTree().getContext(), handle, textToSet, 0, 2, false);
+        mLegacyLithoTestRule.getComponentTree().getContext(), handle, textToSet, 0, 2, false);
     final CharSequence text =
-        TextInput.getText(mLegacyLithoViewRule.getComponentTree().getContext(), handle);
+        TextInput.getText(mLegacyLithoTestRule.getComponentTree().getContext(), handle);
     assertThat(text).isNotNull();
     assertThat(text.toString()).isEqualTo(textToSet + "23");
 
     // Mount the view again
-    mLegacyLithoViewRule.layout();
+    mLegacyLithoTestRule.layout();
 
-    assertThat(getEditText(mLegacyLithoViewRule.getLithoView()).getText().toString())
+    assertThat(getEditText(mLegacyLithoTestRule.getLithoView()).getText().toString())
         .isEqualTo(textToSet + "23");
   }
 }
diff --git a/litho-it/src/test/java/com/facebook/litho/widget/TextSpecTest.java b/litho-it/src/test/java/com/facebook/litho/widget/TextSpecTest.java
index 5a3d30467b0..1d00cd53278 100644
--- a/litho-it/src/test/java/com/facebook/litho/widget/TextSpecTest.java
+++ b/litho-it/src/test/java/com/facebook/litho/widget/TextSpecTest.java
@@ -39,7 +39,7 @@
 import com.facebook.litho.DynamicValue;
 import com.facebook.litho.EventHandler;
 import com.facebook.litho.LithoView;
-import com.facebook.litho.testing.LithoViewRule;
+import com.facebook.litho.testing.LithoTestRule;
 import com.facebook.litho.testing.eventhandler.EventHandlerTestHelper;
 import com.facebook.litho.testing.helper.ComponentTestHelper;
 import com.facebook.litho.testing.testrunner.LithoTestRunner;
@@ -62,7 +62,7 @@ public class TextSpecTest {
       "\u0645\u0646 \u0627\u0644\u064A\u0645\u064A\u0646 \u0627\u0644\u0649"
           + " \u0627\u0644\u064A\u0633\u0627\u0631";
 
-  @Rule public final LithoViewRule mLithoViewRule = new LithoViewRule();
+  @Rule public final LithoTestRule mLithoTestRule = new LithoTestRule();
 
   @Before
   public void setup() {
@@ -602,7 +602,7 @@ public void whenDynamicTextColorIsChanged_TextColorShouldUpdateWithoutReRenderin
     final DynamicValue textColor = new DynamicValue<>(Color.BLUE);
 
     LithoView lithoView =
-        mLithoViewRule
+        mLithoTestRule
             .render(
                 c ->
                     Text.create(c.getContext())
diff --git a/litho-testing/src/main/java/com/facebook/litho/testing/LegacyLithoViewRule.kt b/litho-testing/src/main/java/com/facebook/litho/testing/LegacyLithoViewRule.kt
index 687231be1db..80f8d2a985e 100644
--- a/litho-testing/src/main/java/com/facebook/litho/testing/LegacyLithoViewRule.kt
+++ b/litho-testing/src/main/java/com/facebook/litho/testing/LegacyLithoViewRule.kt
@@ -59,7 +59,7 @@ import org.robolectric.Shadows.shadowOf
  *  @RunWith(AndroidJUnit4::class)
  *  class LithoSampleTest {
  *
- *  @Rule @JvmField val lithoViewRule = LegacyLithoViewRule()
+ *  @Rule @JvmField val lithoViewRule = LegacyLithoTestRule()
  *  @Test
  *  fun test() {
  *    lithoViewRule.render { TestComponent() }
@@ -71,8 +71,8 @@ import org.robolectric.Shadows.shadowOf
  * }
  * ```
  */
-@Deprecated("Please use LithoViewRule and TestLithoView instead")
-class LegacyLithoViewRule
+@Deprecated("Please use LithoTestRule and TestLithoView instead")
+class LegacyLithoTestRule
 @JvmOverloads
 constructor(
     val componentsConfiguration: ComponentsConfiguration? = null,
@@ -151,17 +151,17 @@ constructor(
     }
   }
 
-  fun useContext(c: ComponentContext): LegacyLithoViewRule {
+  fun useContext(c: ComponentContext): LegacyLithoTestRule {
     context = c
     return this
   }
 
   /** Sets a new [LithoView] which should be used to render. */
-  fun useLithoView(lithoView: LithoView): LegacyLithoViewRule {
+  fun useLithoView(lithoView: LithoView): LegacyLithoTestRule {
     _lithoView = lithoView
     if (lithoView.componentContext !== context) {
       throw RuntimeException(
-          "You must use the same ComponentContext for the LithoView as what is on the LegacyLithoViewRule @Rule!")
+          "You must use the same ComponentContext for the LithoView as what is on the LegacyLithoTestRule @Rule!")
     }
     lithoView.componentTree.let {
       if (it == null && _componentTree != null) {
@@ -174,32 +174,32 @@ constructor(
   }
 
   /** Sets a new [ComponentTree] which should be used to render. */
-  fun useComponentTree(componentTree: ComponentTree?): LegacyLithoViewRule {
+  fun useComponentTree(componentTree: ComponentTree?): LegacyLithoTestRule {
     _componentTree = componentTree
     lithoView.componentTree = componentTree
     return this
   }
 
   /** Sets the new root [Component] to render. */
-  fun setRoot(component: Component?): LegacyLithoViewRule {
+  fun setRoot(component: Component?): LegacyLithoTestRule {
     componentTree.setRoot(component)
     return this
   }
 
   /** Sets the new root [Component.Builder] to render. */
-  fun setRoot(builder: Component.Builder<*>): LegacyLithoViewRule {
+  fun setRoot(builder: Component.Builder<*>): LegacyLithoTestRule {
     componentTree.setRoot(builder.build())
     return this
   }
 
   /** Sets the new root [Component] to render asynchronously. */
-  fun setRootAsync(component: Component?): LegacyLithoViewRule {
+  fun setRootAsync(component: Component?): LegacyLithoTestRule {
     componentTree.setRootAsync(component)
     return this
   }
 
   /** Sets the new root [Component.Builder] to render asynchronously. */
-  fun setRootAsync(builder: Component.Builder<*>): LegacyLithoViewRule {
+  fun setRootAsync(builder: Component.Builder<*>): LegacyLithoTestRule {
     componentTree.setRootAsync(builder.build())
     return this
   }
@@ -209,7 +209,7 @@ constructor(
       component: Component?,
       widthSpec: Int,
       heightSpec: Int
-  ): LegacyLithoViewRule {
+  ): LegacyLithoTestRule {
     this.widthSpec = widthSpec
     this.heightSpec = heightSpec
     componentTree.setRootAndSizeSpecSync(component, this.widthSpec, this.heightSpec)
@@ -217,21 +217,21 @@ constructor(
   }
 
   /** Sets a new width and height which should be used to render. */
-  fun setSizePx(widthPx: Int, heightPx: Int): LegacyLithoViewRule {
+  fun setSizePx(widthPx: Int, heightPx: Int): LegacyLithoTestRule {
     widthSpec = MeasureSpec.makeMeasureSpec(widthPx, MeasureSpec.EXACTLY)
     heightSpec = MeasureSpec.makeMeasureSpec(heightPx, MeasureSpec.EXACTLY)
     return this
   }
 
   /** Sets a new width spec and height spec which should be used to render. */
-  fun setSizeSpecs(widthSpec: Int, heightSpec: Int): LegacyLithoViewRule {
+  fun setSizeSpecs(widthSpec: Int, heightSpec: Int): LegacyLithoTestRule {
     this.widthSpec = widthSpec
     this.heightSpec = heightSpec
     return this
   }
 
   /** Sets a new [TreeProp] for the next layout pass. */
-  fun setTreeProp(klass: Class<*>, instance: Any?): LegacyLithoViewRule {
+  fun setTreeProp(klass: Class<*>, instance: Any?): LegacyLithoTestRule {
     val props = context.treePropContainer ?: TreePropContainer()
     props.put(klass, instance)
     context.treePropContainer = props
@@ -239,7 +239,7 @@ constructor(
   }
 
   /** Explicitly calls measure on the current root [LithoView] */
-  fun measure(): LegacyLithoViewRule {
+  fun measure(): LegacyLithoTestRule {
     lithoView.measure(widthSpec, heightSpec)
     return this
   }
@@ -248,32 +248,32 @@ constructor(
    * Explicitly calls layout on the current root [LithoView]. If there are any async events
    * triggered by layout use together with [idle]
    */
-  fun layout(): LegacyLithoViewRule {
+  fun layout(): LegacyLithoTestRule {
     val lithoView: LithoView = lithoView
     lithoView.layout(0, 0, lithoView.measuredWidth, lithoView.measuredHeight)
     return this
   }
 
-  fun dispatchGlobalLayout(): LegacyLithoViewRule {
+  fun dispatchGlobalLayout(): LegacyLithoTestRule {
     lithoView.notifyVisibleBoundsChanged()
 
     return this
   }
 
   /** Explicitly attaches current root [LithoView] */
-  fun attachToWindow(): LegacyLithoViewRule {
+  fun attachToWindow(): LegacyLithoTestRule {
     lithoView.onAttachedToWindowForTest()
     return this
   }
 
   /** Explicitly detaches current root [LithoView] */
-  fun detachFromWindow(): LegacyLithoViewRule {
+  fun detachFromWindow(): LegacyLithoTestRule {
     lithoView.onDetachedFromWindowForTest()
     return this
   }
 
   /** Explicitly releases current root [LithoView] */
-  fun release(): LegacyLithoViewRule {
+  fun release(): LegacyLithoTestRule {
     lithoView.release()
     return this
   }
@@ -431,15 +431,15 @@ constructor(
   }
 
   /**
-   * Perform any interactions defined in the [InteractionScope] or on the [LegacyLithoViewRule].
+   * Perform any interactions defined in the [InteractionScope] or on the [LegacyLithoTestRule].
    *
    * During tests we need to make sure that everything is in sync in the Main Thread and in the
    * Background Thread, just like in real life use case. This functions takes off the responsibility
    * from you to use the Loopers and manage the thread synchronisation. You only need to pass here
-   * one of the defined interactions from [LegacyLithoViewRule] or [InteractionScope], and we will
+   * one of the defined interactions from [LegacyLithoTestRule] or [InteractionScope], and we will
    * take care of all of the rest
    */
-  fun act(action: InteractionsScope.() -> Unit): LegacyLithoViewRule {
+  fun act(action: InteractionsScope.() -> Unit): LegacyLithoTestRule {
     interactionsScope.action()
     idle()
     return this
@@ -526,7 +526,7 @@ constructor(
     @VisibleForTesting(otherwise = VisibleForTesting.NONE)
     @JvmStatic
     fun getRootLayout(
-        rule: LegacyLithoViewRule,
+        rule: LegacyLithoTestRule,
         component: Component?,
         widthSpec: Int,
         heightSpec: Int
@@ -541,7 +541,7 @@ constructor(
 
     @VisibleForTesting(otherwise = VisibleForTesting.NONE)
     @JvmStatic
-    fun getRootLayout(rule: LegacyLithoViewRule, component: Component?): LithoLayoutResult? {
+    fun getRootLayout(rule: LegacyLithoTestRule, component: Component?): LithoLayoutResult? {
       return rule.attachToWindow().setRoot(component).measure().layout().currentRootNode
     }
   }
diff --git a/litho-testing/src/main/java/com/facebook/litho/testing/LithoTestRule.kt b/litho-testing/src/main/java/com/facebook/litho/testing/LithoTestRule.kt
index 8afbae7d1a2..3e9f3bd22a6 100644
--- a/litho-testing/src/main/java/com/facebook/litho/testing/LithoTestRule.kt
+++ b/litho-testing/src/main/java/com/facebook/litho/testing/LithoTestRule.kt
@@ -39,8 +39,6 @@ import org.junit.runners.model.Statement
 import org.robolectric.Robolectric
 import org.robolectric.Shadows.shadowOf
 
-typealias LithoTestRule = LithoViewRule
-
 /**
  * This test utility allows clients to create a [TestLithoView] instance that allows to test
  * assertion on the view hierarchy rendered by a Litho components.
@@ -61,7 +59,7 @@ typealias LithoTestRule = LithoViewRule
  * }
  * ```
  */
-class LithoViewRule
+class LithoTestRule
 @JvmOverloads
 constructor(
     val componentsConfiguration: ComponentsConfiguration? = null,
diff --git a/litho-testing/src/main/java/com/facebook/litho/testing/TestLithoView.kt b/litho-testing/src/main/java/com/facebook/litho/testing/TestLithoView.kt
index 4042d55c0cb..7ad0ce83a72 100644
--- a/litho-testing/src/main/java/com/facebook/litho/testing/TestLithoView.kt
+++ b/litho-testing/src/main/java/com/facebook/litho/testing/TestLithoView.kt
@@ -51,7 +51,7 @@ import org.robolectric.Shadows
  *  @RunWith(AndroidJUnit4::class)
  *  class LithoSampleTest {
  *
- *  @Rule @JvmField val lithoViewRule = LithoViewRule()
+ *  @Rule @JvmField val lithoViewRule = LithoTestRule()
  *  @Test
  *  fun test() {
  *   val testLithoView =  lithoViewRule.render { TestComponent() }
@@ -125,7 +125,7 @@ internal constructor(
     _lithoView = lithoView
     if (lithoView.componentContext !== context) {
       throw RuntimeException(
-          "You must use the same ComponentContext for the LithoView as what is on the LithoViewRule @Rule!")
+          "You must use the same ComponentContext for the LithoView as what is on the LithoTestRule @Rule!")
     }
     lithoView.componentTree.let {
       if (it == null && _componentTree != null) {
diff --git a/litho-testing/src/main/java/com/facebook/litho/testing/helper/ComponentTestHelper.java b/litho-testing/src/main/java/com/facebook/litho/testing/helper/ComponentTestHelper.java
index a9a52f39db5..5d8f12e73f4 100644
--- a/litho-testing/src/main/java/com/facebook/litho/testing/helper/ComponentTestHelper.java
+++ b/litho-testing/src/main/java/com/facebook/litho/testing/helper/ComponentTestHelper.java
@@ -634,7 +634,7 @@ public static void setParentTreeProp(ComponentContext context, Class propClass,
    * This was added to replace usages of ComponentContext.withComponentScope in tests.
    *
    * 

This method shouldn't be necessary if you're using the latest test practices with - * LithoViewRule (or LegacyLithoViewRule for Java-only tests). See + * LithoTestRule (or LegacyLithoTestRule for Java-only tests). See * https://fblitho.com/docs/kotlin/testing-getting-started/ for more info. * * @deprecated introduced for legacy test cases - don't add new callers diff --git a/sample-codelab/src/test/java/com/facebook/samples/lithocodelab/examples/modules/LearningStateComponentSpecTest.java b/sample-codelab/src/test/java/com/facebook/samples/lithocodelab/examples/modules/LearningStateComponentSpecTest.java index 43788924f53..729ee69818c 100644 --- a/sample-codelab/src/test/java/com/facebook/samples/lithocodelab/examples/modules/LearningStateComponentSpecTest.java +++ b/sample-codelab/src/test/java/com/facebook/samples/lithocodelab/examples/modules/LearningStateComponentSpecTest.java @@ -25,7 +25,7 @@ import com.facebook.litho.EventHandler; import com.facebook.litho.StateValue; import com.facebook.litho.config.LithoDebugConfigurations; -import com.facebook.litho.testing.LegacyLithoViewRule; +import com.facebook.litho.testing.LegacyLithoTestRule; import com.facebook.litho.testing.assertj.LegacyLithoAssertions; import com.facebook.litho.testing.assertj.SubComponentExtractor; import com.facebook.litho.testing.testrunner.LithoTestRunner; @@ -38,7 +38,7 @@ @RunWith(LithoTestRunner.class) public class LearningStateComponentSpecTest { - @Rule public LegacyLithoViewRule mLegacyLithoViewRule = new LegacyLithoViewRule(); + @Rule public LegacyLithoTestRule mLegacyLithoTestRule = new LegacyLithoTestRule(); @Before public void assumeDebug() { @@ -50,7 +50,7 @@ public void assumeDebug() { @Test public void testComponentOnClick() { - final ComponentContext c = mLegacyLithoViewRule.getContext(); + final ComponentContext c = mLegacyLithoTestRule.getContext(); final Component component = LearningStateComponent.create(c).canClick(true).build(); LegacyLithoAssertions.assertThat(c, component) @@ -64,7 +64,7 @@ public void testComponentOnClick() { @Test public void testNoComponentOnClick() { - final ComponentContext c = mLegacyLithoViewRule.getContext(); + final ComponentContext c = mLegacyLithoTestRule.getContext(); final Component component = LearningStateComponent.create(c).canClick(false).build(); LegacyLithoAssertions.assertThat(c, component) diff --git a/sample/src/test/java/com/facebook/samples/litho/DemoListComponentTest.java b/sample/src/test/java/com/facebook/samples/litho/DemoListComponentTest.java index 22e601d880a..97ea60aed3c 100644 --- a/sample/src/test/java/com/facebook/samples/litho/DemoListComponentTest.java +++ b/sample/src/test/java/com/facebook/samples/litho/DemoListComponentTest.java @@ -25,7 +25,7 @@ import com.facebook.litho.Component; import com.facebook.litho.config.LithoDebugConfigurations; import com.facebook.litho.sections.widget.RecyclerCollectionComponent; -import com.facebook.litho.testing.LegacyLithoViewRule; +import com.facebook.litho.testing.LegacyLithoTestRule; import com.facebook.litho.testing.subcomponents.SubComponent; import com.facebook.litho.testing.testrunner.LithoTestRunner; import java.util.ArrayList; @@ -36,7 +36,7 @@ @RunWith(LithoTestRunner.class) public class DemoListComponentTest { - @Rule public LegacyLithoViewRule mLegacyLithoViewRule = new LegacyLithoViewRule(); + @Rule public LegacyLithoTestRule mLegacyLithoTestRule = new LegacyLithoTestRule(); private Component mComponent; @Before @@ -50,7 +50,7 @@ public void assumeDebug() { @Before public void setUp() { mComponent = - DemoListRootComponent.create(mLegacyLithoViewRule.getContext()) + DemoListRootComponent.create(mLegacyLithoTestRule.getContext()) .demos(new ArrayList()) .previousIndices(null) .build(); @@ -58,16 +58,16 @@ public void setUp() { @Test public void testSubComponents() { - assertThat(mLegacyLithoViewRule.getContext(), mComponent) + assertThat(mLegacyLithoTestRule.getContext(), mComponent) .containsOnlySubComponents(SubComponent.of(RecyclerCollectionComponent.class)); } @Test public void testNumOfSubComponents() { - assertThat(mLegacyLithoViewRule.getContext(), mComponent) - .has(numOfSubComponents(mLegacyLithoViewRule.getContext(), is(1))); + assertThat(mLegacyLithoTestRule.getContext(), mComponent) + .has(numOfSubComponents(mLegacyLithoTestRule.getContext(), is(1))); - assertThat(mLegacyLithoViewRule.getContext(), mComponent) - .has(numOfSubComponents(mLegacyLithoViewRule.getContext(), greaterThan(0))); + assertThat(mLegacyLithoTestRule.getContext(), mComponent) + .has(numOfSubComponents(mLegacyLithoTestRule.getContext(), greaterThan(0))); } } diff --git a/sample/src/test/java/com/facebook/samples/litho/java/lithography/DecadeSeparatorSpecTest.java b/sample/src/test/java/com/facebook/samples/litho/java/lithography/DecadeSeparatorSpecTest.java index 46509038256..ad2f842f630 100644 --- a/sample/src/test/java/com/facebook/samples/litho/java/lithography/DecadeSeparatorSpecTest.java +++ b/sample/src/test/java/com/facebook/samples/litho/java/lithography/DecadeSeparatorSpecTest.java @@ -29,7 +29,7 @@ import com.facebook.litho.Component; import com.facebook.litho.ComponentContext; import com.facebook.litho.config.LithoDebugConfigurations; -import com.facebook.litho.testing.LegacyLithoViewRule; +import com.facebook.litho.testing.LegacyLithoTestRule; import com.facebook.litho.testing.subcomponents.InspectableComponent; import com.facebook.litho.testing.subcomponents.SubComponent; import com.facebook.litho.testing.testrunner.LithoTestRunner; @@ -42,7 +42,7 @@ @RunWith(LithoTestRunner.class) public class DecadeSeparatorSpecTest { - @Rule public LegacyLithoViewRule mLegacyLithoViewRule = new LegacyLithoViewRule(); + @Rule public LegacyLithoTestRule mLegacyLithoTestRule = new LegacyLithoTestRule(); private Component mComponent; @@ -53,25 +53,25 @@ public void setUp() { LithoDebugConfigurations.isDebugModeEnabled, is(true)); mComponent = - DecadeSeparator.create(mLegacyLithoViewRule.getContext()).decade(new Decade(2010)).build(); + DecadeSeparator.create(mLegacyLithoTestRule.getContext()).decade(new Decade(2010)).build(); } @Test public void subComponentsWithManualExtraction() { - final ComponentContext c = mLegacyLithoViewRule.getContext(); + final ComponentContext c = mLegacyLithoTestRule.getContext(); assertThat(c, mComponent).extractingSubComponentAt(0).extractingSubComponents(c).hasSize(3); } @Test public void testSubComponentByClass() { - final ComponentContext c = mLegacyLithoViewRule.getContext(); + final ComponentContext c = mLegacyLithoTestRule.getContext(); assertThat(c, mComponent).hasSubComponents(SubComponent.of(Text.class)); } @Test public void subComponentByClassWithExtraction() { - final ComponentContext c = mLegacyLithoViewRule.getContext(); + final ComponentContext c = mLegacyLithoTestRule.getContext(); assertThat(c, mComponent) .extractingSubComponentAt(0) .extractingSubComponents(c) @@ -87,7 +87,7 @@ public boolean matches(InspectableComponent value) { @Test public void subComponentWithText() { - final ComponentContext c = mLegacyLithoViewRule.getContext(); + final ComponentContext c = mLegacyLithoTestRule.getContext(); assertThat(c, mComponent) .extractingSubComponentAt(0) .has(subComponentWith(c, textEquals("2010"))) diff --git a/sample/src/test/java/com/facebook/samples/litho/java/lithography/FeedItemCardSpecTest.java b/sample/src/test/java/com/facebook/samples/litho/java/lithography/FeedItemCardSpecTest.java index f9e492b032f..8bb0190662b 100644 --- a/sample/src/test/java/com/facebook/samples/litho/java/lithography/FeedItemCardSpecTest.java +++ b/sample/src/test/java/com/facebook/samples/litho/java/lithography/FeedItemCardSpecTest.java @@ -30,7 +30,7 @@ import com.facebook.litho.Component; import com.facebook.litho.ComponentContext; import com.facebook.litho.config.LithoDebugConfigurations; -import com.facebook.litho.testing.LegacyLithoViewRule; +import com.facebook.litho.testing.LegacyLithoTestRule; import com.facebook.litho.testing.subcomponents.InspectableComponent; import com.facebook.litho.testing.testrunner.LithoTestRunner; import com.facebook.litho.widget.Card; @@ -44,7 +44,7 @@ @RunWith(LithoTestRunner.class) public class FeedItemCardSpecTest { - @Rule public LegacyLithoViewRule mLegacyLithoViewRule = new LegacyLithoViewRule(); + @Rule public LegacyLithoTestRule mLegacyLithoTestRule = new LegacyLithoTestRule(); private Component mComponent; private static final Artist ARTIST = new Artist("Sindre Sorhus", "JavaScript Rockstar", 2010); @@ -56,14 +56,14 @@ public void setUp() { LithoDebugConfigurations.isDebugModeEnabled, is(true)); - final ComponentContext c = mLegacyLithoViewRule.getContext(); + final ComponentContext c = mLegacyLithoTestRule.getContext(); mComponent = FeedItemCard.create(c).artist(ARTIST).build(); } @Test public void testShallowSubComponents() { - final ComponentContext c = mLegacyLithoViewRule.getContext(); + final ComponentContext c = mLegacyLithoTestRule.getContext(); assertThat(c, mComponent) .extractingSubComponentAt(0) .extractingSubComponents(c) @@ -80,7 +80,7 @@ public boolean matches(InspectableComponent value) { @Test public void testDeepSubComponents() { - final ComponentContext c = mLegacyLithoViewRule.getContext(); + final ComponentContext c = mLegacyLithoTestRule.getContext(); // N.B. This manual way of testing is not recommended and will be replaced by more high-level // matchers, but illustrates how it can be used in case more fine-grained assertions are @@ -103,7 +103,7 @@ public boolean matches(InspectableComponent value) { @Test public void testDeepSubComponentText() { - final ComponentContext c = mLegacyLithoViewRule.getContext(); + final ComponentContext c = mLegacyLithoTestRule.getContext(); assertThat(c, mComponent) .has( @@ -114,14 +114,14 @@ public void testDeepSubComponentText() { @Test public void testDeepSubComponentTextType() { - final ComponentContext c = mLegacyLithoViewRule.getContext(); + final ComponentContext c = mLegacyLithoTestRule.getContext(); assertThat(c, mComponent).has(deepSubComponentWith(c, inspectedTypeIs(Text.class))); } @Test public void testDeepMatcherMatching() { - final ComponentContext c = mLegacyLithoViewRule.getContext(); + final ComponentContext c = mLegacyLithoTestRule.getContext(); // You can also test nested sub-components by passing in another Matcher where // you would normally provide a Component. In this case we provide a Matcher diff --git a/sample/src/test/java/com/facebook/samples/litho/java/lithography/FeedItemComponentSpecSubComponentTest.java b/sample/src/test/java/com/facebook/samples/litho/java/lithography/FeedItemComponentSpecSubComponentTest.java index 2f3433fcd72..3e35396e72c 100644 --- a/sample/src/test/java/com/facebook/samples/litho/java/lithography/FeedItemComponentSpecSubComponentTest.java +++ b/sample/src/test/java/com/facebook/samples/litho/java/lithography/FeedItemComponentSpecSubComponentTest.java @@ -29,7 +29,7 @@ import com.facebook.litho.ComponentContext; import com.facebook.litho.EventHandler; import com.facebook.litho.config.LithoDebugConfigurations; -import com.facebook.litho.testing.LegacyLithoViewRule; +import com.facebook.litho.testing.LegacyLithoTestRule; import com.facebook.litho.testing.testrunner.LithoTestRunner; import org.hamcrest.core.IsNull; import org.junit.Before; @@ -43,7 +43,7 @@ */ @RunWith(LithoTestRunner.class) public class FeedItemComponentSpecSubComponentTest { - @Rule public LegacyLithoViewRule mLegacyLithoViewRule = new LegacyLithoViewRule(); + @Rule public LegacyLithoTestRule mLegacyLithoTestRule = new LegacyLithoTestRule(); @Before public void setUp() { @@ -55,7 +55,7 @@ public void setUp() { @Test public void subComponentWithoutProperties() { - final ComponentContext c = mLegacyLithoViewRule.getContext(); + final ComponentContext c = mLegacyLithoTestRule.getContext(); final Component component = makeComponentWithTextInSubcomponent("Any String"); // This will match as long as there is a FooterComponent, with any props. @@ -66,7 +66,7 @@ public void subComponentWithoutProperties() { @Test public void subComponentWithRawText() { - final ComponentContext c = mLegacyLithoViewRule.getContext(); + final ComponentContext c = mLegacyLithoTestRule.getContext(); final Component component = makeComponentWithTextInSubcomponent("Raw Text"); // This will match if the component has exactly the specified text as property. @@ -77,7 +77,7 @@ public void subComponentWithRawText() { @Test public void subComponentWithMatcher() { - final ComponentContext c = mLegacyLithoViewRule.getContext(); + final ComponentContext c = mLegacyLithoTestRule.getContext(); final Component component = makeComponentWithTextInSubcomponent( "Long Text That We Don't Want To Match In Its Entirety"); @@ -92,7 +92,7 @@ public void subComponentWithMatcher() { @Test public void subComponentWithRes() { - final ComponentContext c = mLegacyLithoViewRule.getContext(); + final ComponentContext c = mLegacyLithoTestRule.getContext(); String string = c.getAndroidContext().getResources().getString(android.R.string.cancel); final Component component = makeComponentWithTextInSubcomponent(string); @@ -106,7 +106,7 @@ public void subComponentWithRes() { @Test public void footerHasNoClickHandler() { - final ComponentContext c = mLegacyLithoViewRule.getContext(); + final ComponentContext c = mLegacyLithoTestRule.getContext(); final Component component = makeComponentWithTextInSubcomponent("Any Text"); // Components commonly have conditional handlers assigned. Using the clickHandler matcher @@ -123,7 +123,7 @@ public void footerHasNoClickHandler() { } private Component makeComponentWithTextInSubcomponent(String value) { - final ComponentContext c = mLegacyLithoViewRule.getContext(); + final ComponentContext c = mLegacyLithoTestRule.getContext(); return FeedItemComponent.create(c).artist(new Artist("Some Name", value, 2001)).build(); } } diff --git a/sample/src/test/java/com/facebook/samples/litho/java/lithography/FeedItemComponentSpecTest.java b/sample/src/test/java/com/facebook/samples/litho/java/lithography/FeedItemComponentSpecTest.java index 728ba64f655..8f50c8138b6 100644 --- a/sample/src/test/java/com/facebook/samples/litho/java/lithography/FeedItemComponentSpecTest.java +++ b/sample/src/test/java/com/facebook/samples/litho/java/lithography/FeedItemComponentSpecTest.java @@ -30,7 +30,7 @@ import com.facebook.litho.ComponentContext; import com.facebook.litho.LithoView; import com.facebook.litho.config.LithoDebugConfigurations; -import com.facebook.litho.testing.LegacyLithoViewRule; +import com.facebook.litho.testing.LegacyLithoTestRule; import com.facebook.litho.testing.helper.ComponentTestHelper; import com.facebook.litho.testing.subcomponents.SubComponent; import com.facebook.litho.testing.testrunner.LithoTestRunner; @@ -41,7 +41,7 @@ @RunWith(LithoTestRunner.class) public class FeedItemComponentSpecTest { - @Rule public LegacyLithoViewRule mLegacyLithoViewRule = new LegacyLithoViewRule(); + @Rule public LegacyLithoTestRule mLegacyLithoTestRule = new LegacyLithoTestRule(); private Component mComponent; @@ -51,7 +51,7 @@ public void setUp() { "These tests can only be run in debug mode.", LithoDebugConfigurations.isDebugModeEnabled, is(true)); - final ComponentContext c = mLegacyLithoViewRule.getContext(); + final ComponentContext c = mLegacyLithoTestRule.getContext(); mComponent = FeedItemComponent.create(c) .artist(new Artist("Sindre Sorhus", "Rockstar Developer", 2010)) @@ -60,14 +60,14 @@ public void setUp() { @Test public void recursiveSubComponentExists() { - final ComponentContext c = mLegacyLithoViewRule.getContext(); + final ComponentContext c = mLegacyLithoTestRule.getContext(); assertThat(c, mComponent).extractingSubComponentAt(0).extractingSubComponents(c).hasSize(2); } @Test public void testLithoViewSubComponentMatching() { - final ComponentContext c = mLegacyLithoViewRule.getContext(); + final ComponentContext c = mLegacyLithoTestRule.getContext(); final LithoView lithoView = ComponentTestHelper.mountComponent(c, mComponent); assertThat(lithoView).has(deepSubComponentWith(textEquals("Sindre Sorhus"))); @@ -75,7 +75,7 @@ public void testLithoViewSubComponentMatching() { @Test public void subComponentLegacyBridge() { - final ComponentContext c = mLegacyLithoViewRule.getContext(); + final ComponentContext c = mLegacyLithoTestRule.getContext(); assertThat(c, mComponent) .extractingSubComponentAt(0) diff --git a/sample/src/test/java/com/facebook/samples/litho/java/lithography/FooterComponentSpecTest.java b/sample/src/test/java/com/facebook/samples/litho/java/lithography/FooterComponentSpecTest.java index 3cf48c01eef..dd65b246467 100644 --- a/sample/src/test/java/com/facebook/samples/litho/java/lithography/FooterComponentSpecTest.java +++ b/sample/src/test/java/com/facebook/samples/litho/java/lithography/FooterComponentSpecTest.java @@ -26,7 +26,7 @@ import com.facebook.litho.Component; import com.facebook.litho.ComponentContext; import com.facebook.litho.config.LithoDebugConfigurations; -import com.facebook.litho.testing.LegacyLithoViewRule; +import com.facebook.litho.testing.LegacyLithoTestRule; import com.facebook.litho.testing.testrunner.LithoTestRunner; import com.facebook.litho.widget.TestText; import org.junit.Before; @@ -36,7 +36,7 @@ @RunWith(LithoTestRunner.class) public class FooterComponentSpecTest { - @Rule public LegacyLithoViewRule mLegacyLithoViewRule = new LegacyLithoViewRule(); + @Rule public LegacyLithoTestRule mLegacyLithoTestRule = new LegacyLithoTestRule(); @Before public void setUp() { @@ -48,7 +48,7 @@ public void setUp() { @Test public void subComponentWithMatcherWithConsistentHierarchyExperiment() { - final ComponentContext c = mLegacyLithoViewRule.getContext(); + final ComponentContext c = mLegacyLithoTestRule.getContext(); final Component component = FooterComponent.create(c).text("I hate Mumunmununsdays").build(); assertThat(c, component) diff --git a/sample/src/test/java/com/facebook/samples/litho/kotlin/primitives/widgets/CardClipTest.kt b/sample/src/test/java/com/facebook/samples/litho/kotlin/primitives/widgets/CardClipTest.kt index 53ad5a29c4c..45635d1b084 100644 --- a/sample/src/test/java/com/facebook/samples/litho/kotlin/primitives/widgets/CardClipTest.kt +++ b/sample/src/test/java/com/facebook/samples/litho/kotlin/primitives/widgets/CardClipTest.kt @@ -19,7 +19,7 @@ package com.facebook.samples.litho.kotlin.primitives.widgets import com.facebook.litho.Style import com.facebook.litho.core.height import com.facebook.litho.core.width -import com.facebook.litho.testing.LithoViewRule +import com.facebook.litho.testing.LithoTestRule import com.facebook.litho.testing.testrunner.LithoTestRunner import com.facebook.rendercore.px import junit.framework.Assert.assertNotNull @@ -32,7 +32,7 @@ import org.junit.runner.RunWith @RunWith(LithoTestRunner::class) class CardClipTest { - @Rule @JvmField val lithoViewRule = LithoViewRule() + @Rule @JvmField val lithoViewRule = LithoTestRule() @Test fun `CardClip should render`() { diff --git a/sample/src/test/java/com/facebook/samples/litho/kotlin/primitives/widgets/CardShadowTest.kt b/sample/src/test/java/com/facebook/samples/litho/kotlin/primitives/widgets/CardShadowTest.kt index 3f56a43cfcc..1080626ec5f 100644 --- a/sample/src/test/java/com/facebook/samples/litho/kotlin/primitives/widgets/CardShadowTest.kt +++ b/sample/src/test/java/com/facebook/samples/litho/kotlin/primitives/widgets/CardShadowTest.kt @@ -19,7 +19,7 @@ package com.facebook.samples.litho.kotlin.primitives.widgets import com.facebook.litho.Style import com.facebook.litho.core.height import com.facebook.litho.core.width -import com.facebook.litho.testing.LithoViewRule +import com.facebook.litho.testing.LithoTestRule import com.facebook.litho.testing.testrunner.LithoTestRunner import com.facebook.rendercore.px import junit.framework.Assert.assertNotNull @@ -32,7 +32,7 @@ import org.junit.runner.RunWith @RunWith(LithoTestRunner::class) class CardShadowTest { - @Rule @JvmField val lithoViewRule = LithoViewRule() + @Rule @JvmField val lithoViewRule = LithoTestRule() @Test fun `CardShadow should render`() { diff --git a/sample/src/test/java/com/facebook/samples/litho/kotlin/primitives/widgets/HorizontalScrollTest.kt b/sample/src/test/java/com/facebook/samples/litho/kotlin/primitives/widgets/HorizontalScrollTest.kt index d24e21f5421..16bb5b15961 100644 --- a/sample/src/test/java/com/facebook/samples/litho/kotlin/primitives/widgets/HorizontalScrollTest.kt +++ b/sample/src/test/java/com/facebook/samples/litho/kotlin/primitives/widgets/HorizontalScrollTest.kt @@ -24,7 +24,7 @@ import com.facebook.litho.Style import com.facebook.litho.annotations.ExperimentalLithoApi import com.facebook.litho.core.height import com.facebook.litho.core.width -import com.facebook.litho.testing.LithoViewRule +import com.facebook.litho.testing.LithoTestRule import com.facebook.litho.testing.assertj.LithoAssertions.assertThat import com.facebook.litho.testing.testrunner.LithoTestRunner import com.facebook.litho.widget.ExperimentalImage @@ -38,7 +38,7 @@ import org.junit.runner.RunWith /** Tests for [HorizontalScroll] */ @RunWith(LithoTestRunner::class) class HorizontalScrollTest { - @Rule @JvmField val lithoViewRule: LithoViewRule = LithoViewRule() + @Rule @JvmField val lithoViewRule: LithoTestRule = LithoTestRule() @OptIn(ExperimentalLithoApi::class) @Test diff --git a/sample/src/test/java/com/facebook/samples/litho/kotlin/primitives/widgets/ImageTest.kt b/sample/src/test/java/com/facebook/samples/litho/kotlin/primitives/widgets/ImageTest.kt index 1f33963669f..bea0b67944b 100644 --- a/sample/src/test/java/com/facebook/samples/litho/kotlin/primitives/widgets/ImageTest.kt +++ b/sample/src/test/java/com/facebook/samples/litho/kotlin/primitives/widgets/ImageTest.kt @@ -33,7 +33,7 @@ import com.facebook.litho.accessibility.onInitializeAccessibilityNodeInfo import com.facebook.litho.annotations.ExperimentalLithoApi import com.facebook.litho.core.height import com.facebook.litho.core.width -import com.facebook.litho.testing.LithoViewRule +import com.facebook.litho.testing.LithoTestRule import com.facebook.litho.testing.testrunner.LithoTestRunner import com.facebook.litho.widget.ExperimentalImage import com.facebook.rendercore.px @@ -47,7 +47,7 @@ import org.mockito.kotlin.mock @RunWith(LithoTestRunner::class) class ImageTest { - @Rule @JvmField val lithoViewRule = LithoViewRule() + @Rule @JvmField val lithoViewRule = LithoTestRule() @OptIn(ExperimentalLithoApi::class) @Test diff --git a/sample/src/test/java/com/facebook/samples/litho/kotlin/primitives/widgets/ProgressTest.kt b/sample/src/test/java/com/facebook/samples/litho/kotlin/primitives/widgets/ProgressTest.kt index 117d672a6f5..18fd79536b9 100644 --- a/sample/src/test/java/com/facebook/samples/litho/kotlin/primitives/widgets/ProgressTest.kt +++ b/sample/src/test/java/com/facebook/samples/litho/kotlin/primitives/widgets/ProgressTest.kt @@ -21,7 +21,7 @@ import android.graphics.drawable.ColorDrawable import com.facebook.litho.Style import com.facebook.litho.core.height import com.facebook.litho.core.width -import com.facebook.litho.testing.LithoViewRule +import com.facebook.litho.testing.LithoTestRule import com.facebook.litho.testing.assertj.LithoAssertions.assertThat import com.facebook.litho.testing.testrunner.LithoTestRunner import com.facebook.litho.widget.ProgressView @@ -36,7 +36,7 @@ import org.junit.runner.RunWith @RunWith(LithoTestRunner::class) class ProgressTest { - @Rule @JvmField val lithoViewRule = LithoViewRule() + @Rule @JvmField val lithoViewRule = LithoTestRule() @Test fun `ProgressComponent should render`() { diff --git a/sample/src/test/java/com/facebook/samples/litho/kotlin/primitives/widgets/TransparencyEnabledCardClipTest.kt b/sample/src/test/java/com/facebook/samples/litho/kotlin/primitives/widgets/TransparencyEnabledCardClipTest.kt index 98a118ed8e7..7fb1609e96b 100644 --- a/sample/src/test/java/com/facebook/samples/litho/kotlin/primitives/widgets/TransparencyEnabledCardClipTest.kt +++ b/sample/src/test/java/com/facebook/samples/litho/kotlin/primitives/widgets/TransparencyEnabledCardClipTest.kt @@ -19,7 +19,7 @@ package com.facebook.samples.litho.kotlin.primitives.widgets import com.facebook.litho.Style import com.facebook.litho.core.height import com.facebook.litho.core.width -import com.facebook.litho.testing.LithoViewRule +import com.facebook.litho.testing.LithoTestRule import com.facebook.litho.testing.assertj.LithoAssertions.assertThat import com.facebook.litho.testing.testrunner.LithoTestRunner import com.facebook.rendercore.px @@ -32,7 +32,7 @@ import org.junit.runner.RunWith @RunWith(LithoTestRunner::class) class TransparencyEnabledCardClipTest { - @Rule @JvmField val lithoViewRule: LithoViewRule = LithoViewRule() + @Rule @JvmField val lithoViewRule: LithoTestRule = LithoTestRule() @Test fun `TransparencyEnabledCardClip should render`() { diff --git a/sample/src/test/java/com/facebook/samples/litho/kotlin/primitives/widgets/VerticalScrollTest.kt b/sample/src/test/java/com/facebook/samples/litho/kotlin/primitives/widgets/VerticalScrollTest.kt index 2ce552aab07..52f4f7dea9d 100644 --- a/sample/src/test/java/com/facebook/samples/litho/kotlin/primitives/widgets/VerticalScrollTest.kt +++ b/sample/src/test/java/com/facebook/samples/litho/kotlin/primitives/widgets/VerticalScrollTest.kt @@ -24,7 +24,7 @@ import com.facebook.litho.Style import com.facebook.litho.annotations.ExperimentalLithoApi import com.facebook.litho.core.height import com.facebook.litho.core.width -import com.facebook.litho.testing.LithoViewRule +import com.facebook.litho.testing.LithoTestRule import com.facebook.litho.testing.assertj.LithoAssertions.assertThat import com.facebook.litho.testing.testrunner.LithoTestRunner import com.facebook.litho.widget.ExperimentalImage @@ -40,7 +40,7 @@ import org.junit.runner.RunWith @RunWith(LithoTestRunner::class) class VerticalScrollTest { - @Rule @JvmField val lithoViewRule = LithoViewRule() + @Rule @JvmField val lithoViewRule = LithoTestRule() @OptIn(ExperimentalLithoApi::class) @Test