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

junit1

@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));
              }
          
          
          }