I need to create a fake bitmap image for testing (JUnit Test) my personal add and get methods of a custom LinkedList but the Bitmap.createBitmap return the error:
java.lang.RuntimeException: Method createBitmap in android.graphics.Bitmap not mocked.
This is the code of my JUnitTest:
public class TicketsIteratorTest {
Bitmap img_Bmp;
TicketsIterator<Bitmap> TicketsList = new TicketsIterator();
/*
* Test for the add e get methods, check if the element just insert it's the same of the one just extract.
*/
@Test
public void Add_n_Get() throws Exception {
int i = 0, numIMG = 100;
Bitmap[] IMG_Generated;
IMG_Generated = new Bitmap[numIMG];
// Generate numIMG of imagine to insert into the Iterator and it save each one of it into an
// Bitmap array usefull for testing of the get method
while (i <= numIMG) {
// Generation of the fake Ticket Bitmap
try {
img_Bmp = Bitmap.createBitmap(100, 100, Bitmap.Config.ARGB_8888);
IMG_Generated[i] = img_Bmp;
} catch (Exception e) {
// Print the cause of the error just generated
e.getCause().printStackTrace();
}
// Addition of the imagine just created
TicketsList.add(img_Bmp);
i++;
}
// Test if the imagine inserted it is correct
while (i <= numIMG) {
assertTrue(IMG_Generated[i] == TicketsList.get(IMG_Generated[i]));
i++;
}
}
Thank you for the help.
Are you using this in regular unit tests or in Android Tests? If you are calling this from normal unit test, android classes will be replaced with empty/null implementation. This means call to Bitmap.createBitmap() will just always return null without even checking yours parameters etc.
I had similar issue in the past with Bitmap and with Base64OutputStream. Everything seems to be working perfectly fine, except nothing is happening behind ;) Whenever you will see similar behaviour check if class is not from Android framework - that will be most probably the reason for problems.
I hope that was that and I could help you. I am using PowerMock and just mocked Bitmap class to return Bitmap mock instance in my case.
best regards,
Dariusz Wiechecki
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With