24 lines
		
	
	
		
			1.1 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
			
		
		
	
	
			24 lines
		
	
	
		
			1.1 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
| This folder is for Robolectric tests inside the platform.
 | |
| 
 | |
| To add a test class annotate it as follows:
 | |
| 
 | |
| @RunWith(FrameworkRobolectricTestRunner.class)
 | |
| @Config(manifest = Config.NONE, sdk = 26)
 | |
| @SystemLoaderClasses({ClassUnderTest.class, DependencyClasses.class})
 | |
| @SystemLoaderPackages({"com.android.server.yourmodule"})
 | |
| 
 | |
| Robolectric loads some classes that it decides from versioned jars of the framework. Since we are
 | |
| part of the framework some of our classes get loaded from these jars. This is NOT what we want, we
 | |
| want to test against what we wrote in the tree. Because of this we use a custom test runner,
 | |
| FrameworkRobolectricTestRunner, that bypasses these jars and loads certain classes from the system
 | |
| class loader.
 | |
| 
 | |
| To specify which classes to load use either @SystemLoaderClasses or @SystemLoaderPackages. In
 | |
| practice:
 | |
| * You MUST put the class under test here.
 | |
| * If you encounter any exceptions that might be caused by a different version of the class being
 | |
| loaded, such as NoSuchMethodException, put the class involved in the exception in this annotation
 | |
| and try again.
 | |
| 
 | |
| Check Android.mk file for more info.
 |