Unitary tests

If you use dependency injection through constructors and method parameters, it becomes easy to create your unitary test, i.e.:

@Component("sum")
public class Sum {
        private int result;
        
        public void sum(int first, int second) {
                this.result = first + second;
        }
        
        public int getResult() {
                return this.result;
        }
}

public class SumTest extends TestCase {

        public void testSumsCorrectlyLowNumbers() {
                int expected = 1999;
                Sum logic = new Sum();
                logic.sum(1000, 999);
                assertEquals(expected, logic.getResult());
        }
        
}

Full browser testing

You can use Selenium to fully test your system through Junit testcases using an specific browser.