1# CarSettings Deviceless Tests 2 3Unit test suite for Settings, SettingsLib using Robolectric MOCK SDK. 4 5## Why they exist 6 7These deviceless tests were previously developed using Robolectric exclusively. 8Since then, they have undergone significant refinement, but they still exhibit 9direct references and reliance on Robolectric-specific concepts like shadows. 10While deviceless tests are valuable, solely relying on them limits their utility 11and portability compared to bivalent or multivalent tests that encompass both 12device-based and deviceless testing. 13 14Ultimately, these tests should be migrated to multivalent tests to facilitate 15their utilization in both deviceless and device-based testing environments. 16 17## How to run 18 19Currently, these tests utilize and rely on Robolectric (Mock SDK for app 20testing) to execute without the requirement of a device or emulator. They 21operate solely on the host and employ Robolectric to simulate SDK calls through 22the use of Shadows (Robolectric-specific concepts). 23 24``` 25$ atest CarSettingsDevicelessRoboTests 26``` 27 28## What about other deviceless SDKs 29 30Similar to Robolectric, there exists Ravenwood, which employs a marginally 31distinct approach to running deviceless tests and is widely regarded as more 32appropriate for platform testing (source: go/ravenwood-readme). 33 34At present, there are no Ravenwood tests for CarSettings. 35