Testing - Java

  • Unit Testing
    • Done by developer during development phase
    • Tests single indivisible entity to increase “Programing Speed” and “Quality of Code”
    • Junit => Open-source Java testing framework
      • Features
        • Assertions => Assumed to be true
        • Test fixtures => Fixed state for a set if objects
        • Test suites
      • Modules
        • Junit Platform
        • Junit Jupiter
        • Junit Vintage
      • Supports parameterized & repeated test cases
      • Architecture – Pic in Laptop
      • Annotations
        • @RunWith(UnitPlatform.class) => Used to use the platform to run junit5 test code
        • @Test => Defines the test method
        • @Displayname => Change the name of the test result in the console
        • @BeforeAll => Defines annotated method which is executed before all @Test, @RepeatedTest, @TestFactory or @Parameterised Test
        • @AfterAll => Defines annotated method which is executed after all @Test, @Repeated Test, @TestFactory or @Parameterised Test
        • @BeforeEach => Defines annotated method which is executed before each @Test, @Repeated Test, @TestFactory or @Parameterised Test
        • @AfterEach => Defines annotated method which is executed after each @Test, @Repeated Test, @TestFactory or @Parameterised Test
        • @RepeatedTest(int numberOfRepetitions) => Defines a test template for repeated tests
          • Placeholders => displayName, currentRepetition, totalRepetition
        • @Parameterised Test => Defines a test method that is parameterised test case
        • @Disabled => Used to disable a test class or test method from the execution
        • @Tag => Defines tags to filter tests either at class or method level
        • @Nested => Annotated class is nested, non-static test class
        • @TestFactory => Designates the method to be a test factory for dynamic tests
        • Source of Arguments
          • @valueSource
          • @EnumSource
          • @MethodSource
          • @CsvSource
          • @CsvFileSource => CSV file for parameterized test
        • Assertions
          • Assertions.assertEquals(“Message1”, “Message1”, “Both value not equal”);
          • Assertions.assertNotEquals(“Message1”, “Message2”, “Both value equal”);
          • Assertions.assertArrayEquals()
          • Assertions.assertNotNull()
          • Assertions.assertNull()
          • Assertions.assertNotSame()
          • Assertions.assertSame()
          • Assertions.assertTrue()
          • Assertions.assertFalse()
          • Assertions.fail()
          • Assertions.assertThrows() Assertions.assertAll()
          • Assertions.assertTimeout()
        • Assumptions
          • assumeTrue() => Validates the assumptions to be true. If true, proceeds with test, else abort
          • assumeFalse() => Validates the assumptions to be false. If false, proceeds with the test, else abort
          • assumingThat() => If the provided assumption is valid, execute the test method
  • Integration Testing
  • System Testing
Share: