最近研究这块,突然看到一个提示 那我就去这里看看,发现是这样的: CarSensorManagerTest :
@MediumTest
public class CarSensorManagerTest extends CarApiTestBase {
@Test
public void testCreate() throws Exception {
CarSensorManager carSensorManager = (CarSensorManager) getCar()
.getCarManager(Car.SENSOR_SERVICE);
assertThat(carSensorManager).isNotNull();
}
}
CarApiTestBase :
public abstract class CarApiTestBase {
...
@Before
public final void setFixturesAndConnectToCar() throws Exception {
Log.d(TAG, "setFixturesAndConnectToCar() for " + mTestName.getMethodName());
mCar = Car.createCar(getContext(), mConnectionListener);
mCar.connect();
mConnectionListener.waitForConnection(DEFAULT_WAIT_TIMEOUT_MS);
}
protected Car getCar() {
return mCar;
}
...
}
其中有两个注解需要注意下,@Test和@Before 当被@Test注解的方法testCreate执行时,会让@Before注解的方法,也就是父类CarApiTestBase 的setFixturesAndConnectToCar执行到,然后能返回mCar。 通过这种方式获取carSensorManager ,然后就能去注册各种监听,获取相应type的值。
|