diff --git a/src/TulsiGenerator/Bazel/tulsi/tulsi_aspects.bzl b/src/TulsiGenerator/Bazel/tulsi/tulsi_aspects.bzl
index 8aff559..8f995db 100644
--- a/src/TulsiGenerator/Bazel/tulsi/tulsi_aspects.bzl
+++ b/src/TulsiGenerator/Bazel/tulsi/tulsi_aspects.bzl
@@ -54,7 +54,6 @@
     "srcs",  # To propagate down onto rules which generate source files.
     "tests",  # for test_suite when the --noexpand_test_suites flag is used.
     "_implicit_tests",  # test_suites without a `tests` attr have an '$implicit_tests' attr instead.
-    "test_bundle",
     "test_host",
     "additional_contents",  # macos_application can specify a dict with supported rules as keys.
     # Special attribute name which serves as an escape hatch intended for custom
@@ -738,7 +737,6 @@
         datamodels = datamodels,
         supporting_files = supporting_files,
         test_host = _get_label_attr(rule_attr, "test_host.label"),
-        test_bundle = _get_label_attr(rule_attr, "test_bundle.label"),
     )
 
     # Inheritable attributes are pulled up through dependencies of type 'binary'
diff --git a/src/TulsiGenerator/RuleEntry.swift b/src/TulsiGenerator/RuleEntry.swift
index 6f3c229..9918a24 100644
--- a/src/TulsiGenerator/RuleEntry.swift
+++ b/src/TulsiGenerator/RuleEntry.swift
@@ -165,10 +165,7 @@
     // handling in the generated Xcode project. For example, asset_catalog, storyboard, and xibs
     // attributes all end up as supporting_files.
     case supporting_files
-    // For the apple_unit_test and apple_ui_test rules, contains a label reference to the .xctest
-    // bundle packaging target.
-    case test_bundle
-    // For the apple_unit_test and apple_ui_test rules, contains a label reference to the
+    // For the {platform}_unit_test and {platform}_ui_test rules, contains a label reference to the
     // ios_application target to be used as the test host when running the tests.
     case test_host
   }
diff --git a/src/TulsiGeneratorIntegrationTests/AspectTests.swift b/src/TulsiGeneratorIntegrationTests/AspectTests.swift
index d2deb1c..735dfc3 100644
--- a/src/TulsiGeneratorIntegrationTests/AspectTests.swift
+++ b/src/TulsiGeneratorIntegrationTests/AspectTests.swift
@@ -114,10 +114,6 @@
         .hasTestHost("//tulsi_test:Application")
         .hasDeploymentTarget(DeploymentTarget(platform: .ios, osVersion: "10.0"))
         .dependsOn("//tulsi_test:Application")
-        .dependsOn("//tulsi_test:XCTest_test_bundle")
-
-    checker.assertThat("//tulsi_test:XCTest_test_bundle")
-        .dependsOn("//tulsi_test:Application")
         .dependsOn("//tulsi_test:TestLibrary")
   }
 
@@ -308,10 +304,6 @@
     checker.assertThat("//tulsi_test:XCTest")
         .hasTestHost("//tulsi_test:Application")
         .dependsOn("//tulsi_test:Application")
-        .dependsOn("//tulsi_test:XCTest_test_bundle")
-
-    checker.assertThat("//tulsi_test:XCTest_test_bundle")
-        .dependsOn("//tulsi_test:Application")
         .dependsOn("//tulsi_test:XCTest_test_binary")
 
     checker.assertThat("//tulsi_test:XCTest_test_binary")
@@ -340,7 +332,8 @@
         .hasTestHost("//tulsi_test:Application")
         .hasDeploymentTarget(DeploymentTarget(platform: .ios, osVersion: "10.0"))
         .dependsOn("//tulsi_test:Application")
-        .dependsOn("//tulsi_test:XCTest_test_bundle")
+        .dependsOn("//tulsi_test:Library")
+        .dependsOn("//tulsi_test:TestLibrary")
 
     checker.assertThat("//tulsi_test:ApplicationLibrary")
         .dependsOn("//tulsi_test:CoreDataResources")
@@ -348,11 +341,6 @@
         .dependsOn("//tulsi_test:ObjCFramework")
         .dependsOn("//tulsi_test:SrcGenerator")
 
-    checker.assertThat("//tulsi_test:XCTest_test_bundle")
-        .dependsOn("//tulsi_test:Application")
-        .dependsOn("//tulsi_test:Library")
-        .dependsOn("//tulsi_test:TestLibrary")
-
     checker.assertThat("//tulsi_test:Library")
         .hasSources(["tulsi_test/LibrarySources/srcs/src1.m",
                      "tulsi_test/LibrarySources/srcs/src2.m",
diff --git a/src/TulsiGeneratorIntegrationTests/EndToEndGenerationTests.swift b/src/TulsiGeneratorIntegrationTests/EndToEndGenerationTests.swift
index 9e37474..b91bf39 100644
--- a/src/TulsiGeneratorIntegrationTests/EndToEndGenerationTests.swift
+++ b/src/TulsiGeneratorIntegrationTests/EndToEndGenerationTests.swift
@@ -41,7 +41,7 @@
                                  type: "ios_application",
                                  linkedTargetLabels: []),
                         RuleInfo(label: BuildLabel("//\(testDir):XCTest"),
-                                 type: "apple_unit_test",
+                                 type: "ios_unit_test",
                                  linkedTargetLabels: hostLabels)]
     let additionalFilePaths = ["\(testDir)/BUILD"]
 
@@ -187,7 +187,7 @@
                                  type: "ios_application",
                                  linkedTargetLabels: []),
                         RuleInfo(label: BuildLabel("//\(testDir):XCTest"),
-                                 type: "apple_unit_test",
+                                 type: "ios_unit_test",
                                  linkedTargetLabels: hostLabels)]
     let additionalFilePaths = ["\(testDir)/BUILD"]
 
@@ -324,13 +324,13 @@
     let uiTestsLabel = BuildLabel("//\(testDir):UITests")
     let hostLabels = Set<BuildLabel>([appLabel])
     let buildTargets = [RuleInfo(label: unitTestsLabel,
-                                 type: "apple_unit_test",
+                                 type: "macos_unit_test",
                                  linkedTargetLabels: hostLabels),
                         RuleInfo(label: unitTestsNoHostLabel,
-                                 type: "apple_unit_test",
+                                 type: "macos_unit_test",
                                  linkedTargetLabels: []),
                         RuleInfo(label: uiTestsLabel,
-                                 type: "apple_ui_test",
+                                 type: "macos_ui_test",
                                  linkedTargetLabels: hostLabels)]
     let additionalFilePaths = ["\(testDir)/BUILD"]
 
diff --git a/src/TulsiGeneratorIntegrationTests/QueryTests.swift b/src/TulsiGeneratorIntegrationTests/QueryTests.swift
index 8fef8eb..9e9acb3 100644
--- a/src/TulsiGeneratorIntegrationTests/QueryTests.swift
+++ b/src/TulsiGeneratorIntegrationTests/QueryTests.swift
@@ -61,7 +61,7 @@
       .hasNoDependencies()
 
     checker.assertThat("//tulsi_test:XCTest")
-        .hasType("apple_unit_test")
+        .hasType("ios_unit_test")
         .hasExactlyOneLinkedTargetLabel(BuildLabel("//tulsi_test:Application"))
         .hasNoDependencies()
 
@@ -154,7 +154,7 @@
         .hasNoDependencies()
 
     checker.assertThat("//tulsi_complex_test:XCTest")
-        .hasType("apple_unit_test")
+        .hasType("ios_unit_test")
         .hasExactlyOneLinkedTargetLabel(BuildLabel("//tulsi_complex_test:Application"))
         .hasNoDependencies()
   }
diff --git a/src/TulsiGeneratorTests/PBXTargetGeneratorTests.swift b/src/TulsiGeneratorTests/PBXTargetGeneratorTests.swift
index d4c1b4b..7ffaf03 100644
--- a/src/TulsiGeneratorTests/PBXTargetGeneratorTests.swift
+++ b/src/TulsiGeneratorTests/PBXTargetGeneratorTests.swift
@@ -405,7 +405,7 @@
   }
 
   func testGenerateTargetsForLinkedRuleEntriesWithNoSourcesAndSkylarkUnitTest() {
-    checkGenerateTargetsForLinkedRuleEntriesWithNoSources("apple_unit_test",
+    checkGenerateTargetsForLinkedRuleEntriesWithNoSources("ios_unit_test",
                                                           testProductType: .UnitTest,
                                                           testHostAttributeName: "test_host")
   }
@@ -522,7 +522,7 @@
   }
 
   func testGenerateTargetsForLinkedRuleEntriesWithNoSourcesAndSkylarkUITest() {
-    let testRuleType = "apple_ui_test"
+    let testRuleType = "ios_ui_test"
     let testHostAttributeName = "test_host"
     let rule1BuildPath = "test/app"
     let rule1TargetName = "TestApplication"
@@ -632,7 +632,7 @@
   }
 
   func testGenerateTargetsForLinkedRuleEntriesWithNoSourcesMacOSUnitTests() {
-    let testRuleType = "apple_unit_test"
+    let testRuleType = "ios_unit_test"
     let testHostAttributeName = "test_host"
     let rule1BuildPath = "test/app"
     let rule1TargetName = "TestApplication"
@@ -748,7 +748,7 @@
   }
 
   func testGenerateTargetsForLinkedRuleEntriesWithNoSourcesMacOSUITests() {
-    let testRuleType = "apple_ui_test"
+    let testRuleType = "ios_ui_test"
     let testHostAttributeName = "test_host"
     let rule1BuildPath = "test/app"
     let rule1TargetName = "TestApplication"
@@ -863,7 +863,7 @@
   }
 
   func testGenerateTargetWithNoSourcesNoHostMacOSUnitTests() {
-    let testRuleType = "apple_unit_test"
+    let testRuleType = "ios_unit_test"
     let rule1BuildPath = "test/testbundle"
     let rule1TargetName = "TestBundle"
     let rule1BuildTarget = "\(rule1BuildPath):\(rule1TargetName)"
@@ -929,7 +929,7 @@
   }
 
   func testGenerateTargetWithSourcesNoHostMacOSUnitTests() {
-    let testRuleType = "apple_unit_test"
+    let testRuleType = "ios_unit_test"
     let rule1BuildPath = "test/testbundle"
     let rule1TargetName = "TestBundle"
     let rule1BuildTarget = "\(rule1BuildPath):\(rule1TargetName)"
@@ -999,7 +999,7 @@
   }
 
   func testGenerateTargetsForLinkedRuleEntriesWithSourcesWithSkylarkUnitTest() {
-    checkGenerateTargetsForLinkedRuleEntriesWithSources("apple_unit_test",
+    checkGenerateTargetsForLinkedRuleEntriesWithSources("ios_unit_test",
                                                         testProductType: .UnitTest,
                                                         testHostAttributeName: "test_host")
   }
@@ -1119,29 +1119,24 @@
 
   func testGenerateTestTargetWithObjectiveCSources() {
     let testRuleTargetName = "Tests"
-    let testRuleType = "apple_unit_test"
+    let testRuleType = "ios_unit_test"
     let testHostTargetName = "App"
     let testRulePackage = "test/app"
     let testSources = ["test/app/Tests.m"]
     let objcLibraryRuleEntry = makeTestRuleEntry("\(testRulePackage):ObjcLib",
       type: "objc_library",
       sourceFiles: testSources)
-    let testBundleRuleEntry = makeTestRuleEntry("\(testRulePackage):Tests_test_bundle",
-      type: "ios_test_bundle",
-      dependencies: Set([BuildLabel(objcLibraryRuleEntry.label.value)]))
     let testHostRuleEntry = makeTestRuleEntry("\(testRulePackage):\(testHostTargetName)",
       type: "ios_application", productType: .Application)
     let testRuleEntry = makeTestRuleEntry("\(testRulePackage):\(testRuleTargetName)",
       type: "\(testRuleType)",
-      attributes: ["test_bundle": testBundleRuleEntry.label.value as AnyObject,
-                   "test_host": testHostRuleEntry.label.value as AnyObject],
+      attributes: ["test_host": testHostRuleEntry.label.value as AnyObject],
       sourceFiles: testSources,
       productType: .UnitTest,
       platformType: "ios",
       osDeploymentTarget: "8.0")
 
     let ruleEntryMap = makeRuleEntryMap(withRuleEntries: [objcLibraryRuleEntry,
-                                                          testBundleRuleEntry,
                                                           testHostRuleEntry,
                                                           testRuleEntry])
 
@@ -1201,22 +1196,18 @@
 
   func testGenerateTestTargetWithSwiftSources() {
     let testRuleTargetName = "Tests"
-    let testRuleType = "apple_unit_test"
+    let testRuleType = "ios_unit_test"
     let testHostTargetName = "App"
     let testRulePackage = "test/app"
     let testSources = ["test/app/Tests.swift"]
     let swiftLibraryRuleEntry = makeTestRuleEntry("\(testRulePackage):SwiftLib",
                                                   type: "swift_library",
                                                   sourceFiles: testSources)
-    let testBundleRuleEntry = makeTestRuleEntry("\(testRulePackage):Tests_test_bundle",
-                                                type: "ios_test_bundle",
-                                                dependencies: Set([BuildLabel(swiftLibraryRuleEntry.label.value)]))
     let testHostRuleEntry = makeTestRuleEntry("\(testRulePackage):\(testHostTargetName)",
                                               type: "ios_application", productType: .Application)
     let testRuleEntry = makeTestRuleEntry("\(testRulePackage):\(testRuleTargetName)",
                                           type: "\(testRuleType)",
                                           attributes: ["has_swift_dependency": true as AnyObject,
-                                                       "test_bundle": testBundleRuleEntry.label.value as AnyObject,
                                                        "test_host": testHostRuleEntry.label.value as AnyObject],
                                           sourceFiles: testSources,
                                           productType: .UnitTest,
@@ -1224,7 +1215,6 @@
                                           osDeploymentTarget: "8.0")
 
     let ruleEntryMap = makeRuleEntryMap(withRuleEntries: [swiftLibraryRuleEntry,
-                                                          testBundleRuleEntry,
                                                           testHostRuleEntry,
                                                           testRuleEntry])
 
@@ -1291,7 +1281,7 @@
   }
 
   func testGenerateTargetsForLinkedRuleEntriesWithSourcesWithSkylarkUITest() {
-    let testRuleType = "apple_ui_test"
+    let testRuleType = "ios_ui_test"
     let testProductType = PBXTarget.ProductType.UIUnitTest
     let testHostAttributeName = "test_host"
     let rule1BuildPath = "test/app"
@@ -1405,12 +1395,12 @@
 
   func testGenerateTargetsForLinkedRuleEntriesWithSameTestHostNameInDifferentPackagesWithSkylarkUnitTest() {
     checkGenerateTargetsForLinkedRuleEntriesWithSameTestHostNameInDifferentPackages(
-      "apple_unit_test", testProductType: .UnitTest, testHostAttributeName: "test_host")
+      "ios_unit_test", testProductType: .UnitTest, testHostAttributeName: "test_host")
   }
 
   func testGenerateTargetsForLinkedRuleEntriesWithSameTestHostNameInDifferentPackagesWithSkylarkUITest() {
     checkGenerateTargetsForLinkedRuleEntriesWithSameTestHostNameInDifferentPackages(
-      "apple_ui_test", testProductType: .UIUnitTest, testHostAttributeName: "test_host")
+      "ios_ui_test", testProductType: .UIUnitTest, testHostAttributeName: "test_host")
   }
 
   func checkGenerateTargetsForLinkedRuleEntriesWithSameTestHostNameInDifferentPackages(
@@ -1453,12 +1443,12 @@
 
   func testGenerateTargetsForLinkedRuleEntriesWithoutIncludingTheHostWarnsWithSkylarkUnitTest() {
     checkGenerateTargetsForLinkedRuleEntriesWithoutIncludingTheHostWarns(
-        "apple_unit_test", testHostAttributeName: "test_host")
+        "ios_unit_test", testHostAttributeName: "test_host")
   }
 
   func testGenerateTargetsForLinkedRuleEntriesWithoutIncludingTheHostWarnsWithSkylarkUITest() {
     checkGenerateTargetsForLinkedRuleEntriesWithoutIncludingTheHostWarns(
-        "apple_ui_test", testHostAttributeName: "test_host")
+        "ios_ui_test", testHostAttributeName: "test_host")
   }
 
   func checkGenerateTargetsForLinkedRuleEntriesWithoutIncludingTheHostWarns(
diff --git a/src/TulsiGeneratorTests/XcodeProjectGeneratorTests.swift b/src/TulsiGeneratorTests/XcodeProjectGeneratorTests.swift
index 48d6958..0a5ed2d 100644
--- a/src/TulsiGeneratorTests/XcodeProjectGeneratorTests.swift
+++ b/src/TulsiGeneratorTests/XcodeProjectGeneratorTests.swift
@@ -179,13 +179,13 @@
   }
 
   func testTestSuiteSchemeGenerationWithSkylarkUnitTest() {
-    checkTestSuiteSchemeGeneration("apple_unit_test",
+    checkTestSuiteSchemeGeneration("ios_unit_test",
                                    testProductType: .UnitTest,
                                    testHostAttributeName: "test_host")
   }
 
   func testTestSuiteSchemeGenerationWithSkylarkUITest() {
-    checkTestSuiteSchemeGeneration("apple_ui_test",
+    checkTestSuiteSchemeGeneration("ios_ui_test",
                                    testProductType: .UIUnitTest,
                                    testHostAttributeName: "test_host")
   }
