Unit Testing - abdulmukit98/techshopJU GitHub Wiki
JUnit
-
Add following dependency to build.gradle
testImplementation 'junit:junit:4.+' testImplementation 'com.google.truth:truth:1.0.1'
-
Create a Test Model where the function will be which need to be tested
public class TestModel { public TestModel() { } public boolean checkName(String name) { if (name.isEmpty()) return false; return true; } public boolean checkPrice(String price) { if (price.isEmpty() || Integer.parseInt(price) == 0) { return false; } return true; } public boolean checkFileUri(Uri uri) { if (uri == null) return false; return true; } }
-
Generate Test class pressing ALT + INSERT
@Test method to check each test cases
-
asserEquals() function is used to map test case with desired output
public class TestModelTest { private final TestModel testModel = new TestModel(); @Test public void empty_name() { String name = ""; assertEquals(false, testModel.checkName(name)); } @Test public void non_empty_name() { String name = "Arduio Uno"; assertEquals(true, testModel.checkName(name)); } @Test public void nullPrice() { String price = ""; assertEquals(false, testModel.checkPrice(price)); } @Test public void zeroPrice() { String price = "0"; assertEquals(false, testModel.checkPrice(price)); } @Test public void validPrice() { String price = "55"; assertEquals(true, testModel.checkPrice(price)); } @Test public void unvalidUriTest() { Uri uri = null; assertEquals(false, testModel.checkFileUri(uri)); } }