Software Engineering a.a Unit Tests for SpringMVC Prof. Luca Mainetti University of Salento

Size: px
Start display at page:

Download "Software Engineering a.a Unit Tests for SpringMVC Prof. Luca Mainetti University of Salento"

Transcription

1 Software Engineering a.a Unit Tests for SpringMVC Prof. University of Salento

2 Junit - Introduction JUnit is the most popular Java Unit testing framework We typically work in large projects - some of these projects have more than 2000 source files or sometimes it might be as big as files with one million lines of code. Before unit testing, we depend on deploying the entire app and checking if the screens look great. But that s not very efficient. And it is manual. Unit Testing focuses on writing automated tests for individual classes and methods. JUnit is a framework which will help you call a method and check (or assert) whether the output is as expected. The important thing about automation testing is that these tests can be run with continuous integration - as soon as some code changes. 2

3 JUnit - Introduction Java Framework for execution of Unity/Regression Tests Regression Test aims to verify that newer versions of a software do not introduce bugs: thay have to pass all the test succesfully passed during past versions of the software It provides tools for verifying assertions More test cases for each single method Supported by Test Suite tool: fast and easy execution of many tests JUnit libraries for Eclipse Download JUnit: 3

4 JUnit Annotations Starting from JUnit version 4, it is possibile to use java annotations for test classes 4

5 Mockito Mockito is the most popular mocking framework in Java Current stable version: 2 5

6 Unit Testing of Spring MVC Controllers Three kinds of Unit Test for Spring MVC Controllers: Configuration: unit testing over the whole project configuration elements Controllers: unit testing of normal controllers. REST API: unit testing of the single REST Apis 6

7 Gradle Dependencies Jackson (core and databind modules). We use Jackson to transform objects into url encoded String objects. Hamcrest 1.3. We use Hamcrest matchers when we are writing assertions for the responses. JUnit 4.12 Mockito Spring Test RELEASE Dependences { compile group: 'com.jayway.jsonpath', name: 'json-path', version: '2.4.0' testcompile group: 'junit', name: 'junit', version: '4.12' testcompile group: 'org.springframework', name: 'spring-test', version: '5.0.3.RELEASE' testcompile group: 'org.mockito', name: 'mockito-core', version: '1.9.5' testcompile group: 'org.hamcrest', name: 'hamcrest-all', version: '1.3 testcompile group: 'com.jayway.jsonpath', name: 'json-path-assert', version: '

8 Unit tests for Controllers 8

9 Writing Unit Tests for Controller Methods Every unit test which we write to test the behavior of a controller method consists of: Sending a request to the tested controller method. Verifying that we received the expected response. The Spring MVC Test framework has a few core classes which we can use for implementing these steps in our tests. These classes are described in the following: We can build our requests by using the static methods of the MockMvcRequestBuilders class The MockMvc class is the main entry point of our tests. We can execute requests by calling its perform method. We can write assertions for the received response by using the static methods of the MockMvcResultMatchers class. We are going to test the HomeController controller 9

10 Enhanced HomeController Add public HomeController() { super(); public HomeController(IUserService userservice) { this.userservice = userservice; Add another method=requestmethod.get) public String users(modelmap modelmap) { List<User> users = userservice.getall(); modelmap.addattribute("users", users); System.out.println("HOMECONTROLLER"); return "users"; 10

11 Users.jsp <!DOCTYPE html> page contenttype="text/html;charset=utf-8" language="java" %> taglib prefix="c" uri=" %> taglib prefix="spring" uri=" %> <html> <head> <meta http-equiv="content-type" content="text/html; charset=utf-8"> <title>insert title here</title> </head> <body> <div id="todo-list" class="page-content"> <c:choose> <c:when test="${empty users"> <p>non sono presenti utenti</p> </c:when> <c:otherwise> <c:foreach items="${users" var="user"> <div> <c:out value="${user.name"/> <c:out value="${user.surname"/> </div> </c:foreach> </c:otherwise> </c:choose> </div> </body> </html> 11

12 HomeControllerTest: class creation Create the right package Set annotations and attributes: private static final String VIEW_RESOLVER_PREFIX = "/templates/"; private static final String VIEW_RESOLVER_SUFFIX = ".jsp"; private MockMvc private IUserService userservicemock; 12

13 HomeControllerTest: imports import org.junit.before; import org.junit.test; import org.junit.runner.runwith; import org.mockito.mock; import org.mockito.runners.mockitojunitrunner; import org.springframework.test.web.servlet.mockmvc; import org.springframework.test.web.servlet.setup.mockmvcbuilders; import org.springframework.web.servlet.viewresolver; import org.springframework.web.servlet.view.internalresourceviewresolver; import org.springframework.web.servlet.view.jstlview; import it.unisalento.se.saw.iservices.iuserservice; import it.unisalento.se.saw.domain.user; import static org.hamcrest.matchers.allof; import static org.hamcrest.matchers.hasitem; import static org.hamcrest.matchers.hasproperty; import static org.hamcrest.matchers.hassize; import static org.hamcrest.matchers.is; import static org.mockito.mockito.times; import static org.mockito.mockito.verify; import static org.mockito.mockito.verifynomoreinteractions; import static org.mockito.mockito.when; import static org.springframework.test.web.servlet.request.mockmvcrequestbuilders.get; import static org.springframework.test.web.servlet.result.mockmvcresultmatchers.forwardedurl; import static org.springframework.test.web.servlet.result.mockmvcresultmatchers.model; import static org.springframework.test.web.servlet.result.mockmvcresultmatchers.view; 13

14 HomeControllerTest: setup Test public void setup() { mockmvc = MockMvcBuilders.standaloneSetup(new HomeController(userServiceMock)).setViewResolvers(viewResolver()).build(); private ViewResolver viewresolver() { InternalResourceViewResolver viewresolver = new InternalResourceViewResolver(); viewresolver.setviewclass(jstlview.class); viewresolver.setprefix(view_resolver_prefix); viewresolver.setsuffix(view_resolver_suffix); return viewresolver; 14

15 HomeControllerTest: public void getallusersview() throws Exception { User first = new User(); first.set ("osvaldo@ .it"); first.setname("osvaldo"); first.setsurname("rossi"); User second = new User(); second.set ("mario@ .it"); second.setname("mario"); second.setsurname("bianchi"); when(userservicemock.getall()).thenreturn(arrays.aslist(first, second)); mockmvc.perform(get("/home/users")).andexpect(view().name("users")).andexpect(forwardedurl("/templates/users.jsp")).andexpect(model().attribute("users", hassize(2))).andexpect(model().attribute("users", hasitem( allof( ))).andexpect(model().attribute("users", hasitem( allof( ))); hasproperty(" ", is("osvaldo@ .it")), hasproperty("name", is("osvaldo")), hasproperty("surname", is("rossi")) ) hasproperty(" ", is("mario@ .it")), hasproperty("name", is("mario")), hasproperty("surname", is("bianchi")) ) verify(userservicemock, times(1)).getall(); verifynomoreinteractions(userservicemock); 15

16 Unit tests for REST APIs WITH MOCK DATA 16

17 Enhanced UserRestController Add constructors: public UserRestController() { super(); public UserRestController(IUserService userservice) { this.userservice = userservice; 17

18 UserRestController: class creation Create the right package Set annotations and public class UserRestControllerTest { private static final String VIEW_RESOLVER_PREFIX = "/templates/"; private static final String VIEW_RESOLVER_SUFFIX = ".jsp ; public static final MediaType APPLICATION_JSON_UTF8 = new MediaType(MediaType.APPLICATION_JSON.getType(), MediaType.APPLICATION_JSON.getSubtype(), Charset.forName("utf8")); private MockMvc private IUserService userservicemock; 18

19 UserRestController: setup Test public void setup() { mockmvc = MockMvcBuilders.standaloneSetup(new UserRestController(userServiceMock)).setViewResolvers(viewResolver()).build(); private ViewResolver viewresolver() { InternalResourceViewResolver viewresolver = new InternalResourceViewResolver(); viewresolver.setviewclass(jstlview.class); viewresolver.setprefix(view_resolver_prefix); viewresolver.setsuffix(view_resolver_suffix); return viewresolver; 19

20 UserRestController: public void finduserbyidtest() throws Exception { User user = new User(); user.setname("osvaldo"); user.setsurname("rossi"); when(userservicemock.getbyid(1)).thenreturn(user); mockmvc.perform(get("/user/getbyid/{id", 1)).andExpect(status().isOk()).andExpect(content().contentType(APPLICATION_JSON_UTF8)).andExpect(jsonPath("$.name", is("osvaldo"))).andexpect(jsonpath("$.surname", is("rossi"))); verify(userservicemock, times(1)).getbyid(1); verifynomoreinteractions(userservicemock); 20

21 Unit tests for REST APIs WITH PERSISTENCE ACCESS 21

22 TestContext It represents the context valid for @Import({WebAppConfig.class, public class TestContext { private static final String MESSAGE_SOURCE_BASE_NAME = public MessageSource messagesource() { ResourceBundleMessageSource messagesource = new ResourceBundleMessageSource(); messagesource.setbasename(message_source_base_name); messagesource.setusecodeasdefaultmessage(true); return messagesource; 22

23 UserRestControllerTest: class creation Create the right package Set annotations = public class UserRestControllerTest { public static final MediaType APPLICATION_JSON_UTF8 = new MediaType(MediaType.APPLICATION_JSON.getType(), MediaType.APPLICATION_JSON.getSubtype(), private WebApplicationContext webapplicationcontext; private MockMvc public void setup() { mockmvc = MockMvcBuilders.webAppContextSetup(webApplicationContext).build(); 23

24 UserRestControllerTest: setup Test public void setup() { mockmvc = MockMvcBuilders.webAppContextSetup(webApplicationContext).build(); 24

25 UserRestControllerTest: public void finduserbyidtest () throws Exception { mockmvc.perform(get("/user/getbyid/{id", 1)).andExpect(status().isOk()).andExpect(content().contentType(APPLICATION_JSON_UTF8)).andExpect(jsonPath("$.name", is("osvaldo"))).andexpect(jsonpath("$.surname", public void saveusertest() throws Exception { UserDTO dto = new UserDTO(); dto.setname("sandro"); dto.setsurname("maroccia"); mockmvc.perform(post("/user/save").contenttype(application_json_utf8).content(utils.convertobjecttojsonbytes(dto)) ).andexpect(status().isok()).andexpect(content().contenttype(application_json_utf8)).andexpect(jsonpath("$.name", is("sandro"))).andexpect(jsonpath("$.surname", is("maroccia"))); 25

JVA-117A. Spring-MVC Web Applications

JVA-117A. Spring-MVC Web Applications JVA-117A. Spring-MVC Web Applications Version 4.2 This course enables the experienced Java developer to use the Spring application framework to manage objects in a lightweight, inversion-of-control container,

More information

Accessibility. Adding features to support users with impaired vision, mobility, or hearing

Accessibility. Adding features to support users with impaired vision, mobility, or hearing Accessibility Adding features to support users with impaired vision, mobility, or hearing TalkBack TalkBack is an Android screen reader made by Google. It speaks out the contents of a screen based on what

More information

Spring MVC. PA 165, Lecture 8. Martin Kuba

Spring MVC. PA 165, Lecture 8. Martin Kuba Spring MVC PA 165, Lecture 8 Martin Kuba Outline architecture of example eshop responsive web design Spring MVC initialization controllers redirects, flash attributes, messages forms and input data validation

More information

Tools for Accessing REST APIs

Tools for Accessing REST APIs APPENDIX A Tools for Accessing REST APIs When you have to work in an agile development environment, you need to be able to quickly test your API. In this appendix, you will learn about open source REST

More information

Introduction to Spring Framework: Hibernate, Spring MVC & REST

Introduction to Spring Framework: Hibernate, Spring MVC & REST Introduction to Spring Framework: Hibernate, Spring MVC & REST Training domain: Software Engineering Number of modules: 1 Duration of the training: 36 hours Sofia, 2017 Copyright 2003-2017 IPT Intellectual

More information

Deployment to the Cloud

Deployment to the Cloud Appendix A Deployment to the Cloud Over the last couple of years the cloud has grown considerably and a lot of companies offer different cloud solutions, such as Platform as a Service Infrastructure as

More information

Index. Combined lifecycle strategy, annotation, 93 ContentNegotiatingViewResolver, 78

Index. Combined lifecycle strategy, annotation, 93 ContentNegotiatingViewResolver, 78 Index A Action phase, 154 AJAX (asynchronous JavaScript and XML), 229 communication flow, 230 components, 156 custom tags, 250 functions, 229 GET and POST requests, 233 jquery, 233, 236 AJAX calls, 243

More information

Spring MVC. Richard Paul Kiwiplan NZ Ltd 27 Mar 2009

Spring MVC. Richard Paul Kiwiplan NZ Ltd 27 Mar 2009 Spring MVC Richard Paul Kiwiplan NZ Ltd 27 Mar 2009 What is Spring MVC Spring MVC is the web component of Spring's framework. Model - The data required for the request. View - Displays the page using the

More information

JVA-117E. Developing RESTful Services with Spring

JVA-117E. Developing RESTful Services with Spring JVA-117E. Developing RESTful Services with Spring Version 4.1 This course enables the experienced Java developer to use the Spring MVC framework to create RESTful web services. We begin by developing fluency

More information

Developing Spring based WebSphere Portal application using IBM Rational Application Developer

Developing Spring based WebSphere Portal application using IBM Rational Application Developer Developing Spring based WebSphere Portal application using IBM Rational Application Developer Table of Content Abstract...3 Overview...3 Sample Use case...3 Prerequisite :...3 Developing the spring portlet...4

More information

Mastering Spring MVC 3

Mastering Spring MVC 3 Mastering Spring MVC 3 And its @Controller programming model Get the code for the demos in this presentation at http://src.springsource.org/svn/spring-samples/mvc-showcase 2010 SpringSource, A division

More information

Fast Track to Java EE 5 with Servlets, JSP & JDBC

Fast Track to Java EE 5 with Servlets, JSP & JDBC Duration: 5 days Description Java Enterprise Edition (Java EE 5) is a powerful platform for building web applications. The Java EE platform offers all the advantages of developing in Java plus a comprehensive

More information

Checking Current Code Coverage

Checking Current Code Coverage Junit Tests Checking Current Code Coverage We use onap Sonar to track code coverage (sonar.onap.org) To see the appc coverage, click on the appc project on the front page (make sure you choose the most

More information

JAVA. 1. Introduction to JAVA

JAVA. 1. Introduction to JAVA JAVA 1. Introduction to JAVA History of Java Difference between Java and other programming languages. Features of Java Working of Java Language Fundamentals o Tokens o Identifiers o Literals o Keywords

More information

Introduction to Spring 5, Spring MVC and Spring REST

Introduction to Spring 5, Spring MVC and Spring REST Introduction to Spring 5, Spring MVC and Spring REST Duration: 5 Days US Price: $2795 UK Price: 1,995 *Prices are subject to VAT CA Price: CDN$3,275 *Prices are subject to GST/HST Delivery Options: Attend

More information

ADVANCED JAVA TRAINING IN BANGALORE

ADVANCED JAVA TRAINING IN BANGALORE ADVANCED JAVA TRAINING IN BANGALORE TIB ACADEMY #5/3 BEML LAYOUT, VARATHUR MAIN ROAD KUNDALAHALLI GATE, BANGALORE 560066 PH: +91-9513332301/2302 www.traininginbangalore.com 2EE Training Syllabus Java EE

More information

Testing on Android. Mobile Application Development. Jakob Mass MTAT Fall MTAT

Testing on Android. Mobile Application Development. Jakob Mass MTAT Fall MTAT Testing on Android Mobile Application Development MTAT.03.262 2017 Fall Jakob Mass jakob.mass@ut.ee Introduction. Perfect codewriting...or? Conventional (unit) Java testing with JUnit How is mobile/android

More information

JSP MOCK TEST JSP MOCK TEST IV

JSP MOCK TEST JSP MOCK TEST IV http://www.tutorialspoint.com JSP MOCK TEST Copyright tutorialspoint.com This section presents you various set of Mock Tests related to JSP Framework. You can download these sample mock tests at your local

More information

Session 25. Spring Controller. Reading & Reference

Session 25. Spring Controller. Reading & Reference Session 25 Spring Controller 1 Reading Reading & Reference www.tutorialspoint.com/spring/spring_web_mvc_framework.htm https://springframework.guru/spring-requestmapping-annotation/ Reference Spring home

More information

WebTestClient. Version RELEASE

WebTestClient. Version RELEASE WebTestClient Version 5.0.9.RELEASE WebTestClient is a thin shell around WebClient, using it to perform requests and exposing a dedicated, fluent API for verifying responses. WebTestClient bind to a WebFlux

More information

Component based Development. Table of Contents. Notes. Notes. Notes. Web Application Development. Zsolt Tóth

Component based Development. Table of Contents. Notes. Notes. Notes. Web Application Development. Zsolt Tóth Component based Development Web Application Development Zsolt Tóth University of Miskolc 2017 Zsolt Tóth (University of Miskolc) Component based Development 2017 1 / 30 Table of Contents 1 2 3 4 Zsolt

More information

Introduction to JSP and Servlets Training 5-days

Introduction to JSP and Servlets Training 5-days QWERTYUIOP{ Introduction to JSP and Servlets Training 5-days Introduction to JSP and Servlets training course develops skills in JavaServer Pages, or JSP, which is the standard means of authoring dynamic

More information

Introduction to Spring Framework: Hibernate, Web MVC & REST

Introduction to Spring Framework: Hibernate, Web MVC & REST Introduction to Spring Framework: Hibernate, Web MVC & REST Course domain: Software Engineering Number of modules: 1 Duration of the course: 50 hours Sofia, 2017 Copyright 2003-2017 IPT Intellectual Products

More information

Session 12. JSP Tag Library (JSTL) Reading & Reference

Session 12. JSP Tag Library (JSTL) Reading & Reference Session 12 JSP Tag Library (JSTL) 1 Reading & Reference Reading Head First Chap 9, pages 439-474 Reference (skip internationalization and sql sections) Java EE 5 Tutorial (Chapter 7) - link on CSE336 Web

More information

Struts: Struts 1.x. Introduction. Enterprise Application

Struts: Struts 1.x. Introduction. Enterprise Application Struts: Introduction Enterprise Application System logical layers a) Presentation layer b) Business processing layer c) Data Storage and access layer System Architecture a) 1-tier Architecture b) 2-tier

More information

What s new in Spring? Craig

What s new in Spring? Craig What s new in Spring? Craig Walls craig@habuma.com Twitter: @habuma @springsocial http://github.com/habuma What s new? The Spring Ecosystem Compatibility Concerns Configuration Improvements REST WebSocket/STOMP

More information

Java J Course Outline

Java J Course Outline JAVA EE - J2SE - CORE JAVA After all having a lot number of programming languages. Why JAVA; yet another language!!! AND NOW WHY ONLY JAVA??? CHAPTER 1: INTRODUCTION What is Java? History Versioning The

More information

After completing Matchers, you will be able to: Describe the advantages of encapsulating verification logic in

After completing Matchers, you will be able to: Describe the advantages of encapsulating verification logic in CHAPTER 3 MATCHERS OBJECTIVES After completing Matchers, you will be able to: Describe the advantages of encapsulating verification logic in matchers. Use built-in matchers from the Hamcrest library. Create

More information

This course is intended for Java programmers who wish to write programs using many of the advanced Java features.

This course is intended for Java programmers who wish to write programs using many of the advanced Java features. COURSE DESCRIPTION: Advanced Java is a comprehensive study of many advanced Java topics. These include assertions, collection classes, searching and sorting, regular expressions, logging, bit manipulation,

More information

Page 1

Page 1 Java 1. Core java a. Core Java Programming Introduction of Java Introduction to Java; features of Java Comparison with C and C++ Download and install JDK/JRE (Environment variables set up) The JDK Directory

More information

ADVANCED JAVA COURSE CURRICULUM

ADVANCED JAVA COURSE CURRICULUM ADVANCED JAVA COURSE CURRICULUM Index of Advanced Java Course Content : 1. Basics of Servlet 2. ServletRequest 3. Servlet Collaboration 4. ServletConfig 5. ServletContext 6. Attribute 7. Session Tracking

More information

Skyway Builder 6.3 Spring Web Flow Tutorial

Skyway Builder 6.3 Spring Web Flow Tutorial Skyway Builder 6.3 Spring Web Flow Tutorial 6.3.0.0-07/21/2009 Skyway Software Skyway Builder 6.3 - Spring MVC Tutorial: 6.3.0.0-07/21/2009 Skyway Software Published Copyright 2008 Skyway Software Abstract

More information

Java EE Application Assembly & Deployment Packaging Applications, Java EE modules. Model View Controller (MVC)2 Architecture & Packaging EJB Module

Java EE Application Assembly & Deployment Packaging Applications, Java EE modules. Model View Controller (MVC)2 Architecture & Packaging EJB Module Java Platform, Enterprise Edition 5 (Java EE 5) Core Java EE Java EE 5 Platform Overview Java EE Platform Distributed Multi tiered Applications Java EE Web & Business Components Java EE Containers services

More information

Getting Started With Feature Toggle in Java

Getting Started With Feature Toggle in Java Guide Getting Started With Feature Toggle in Java INTRO Feature toggles (also known as feature flags) are simple. You want to introduce new behavior in a Java application, but you re not ready to turn

More information

Spring-beans-2.5.xsd' Must Have Even Number Of Uri's

Spring-beans-2.5.xsd' Must Have Even Number Of Uri's Spring-beans-2.5.xsd' Must Have Even Number Of Uri's encoding="utf-8"? beans xmlns="springframework.org/schema/beans" spring. schemalocation must have even number of URI's. How can I validate a form collection

More information

~$> whoami. Ioan Marius Curelariu SDE at Website Analytics Amazon Development Center Romania

~$> whoami. Ioan Marius Curelariu SDE at Website Analytics Amazon Development Center Romania MVC on the WEB ~$> whoami Ioan Marius Curelariu SDE at Website Analytics Amazon Development Center Romania The Server Side Story The Server Side Story Elastic Beanstalk The Spring Framework First described

More information

Topics covered. Introduction to JUnit JUnit: Hands-on session Introduction to Mockito Mockito: Hands-on session. JUnit & Mockito 2

Topics covered. Introduction to JUnit JUnit: Hands-on session Introduction to Mockito Mockito: Hands-on session. JUnit & Mockito 2 JUnit & Mockito 1 Topics covered Introduction to JUnit JUnit: Hands-on session Introduction to Mockito Mockito: Hands-on session JUnit & Mockito 2 Introduction to JUnit JUnit & Mockito 3 What is JUnit?

More information

THIS IS ONLY SAMPLE RESUME - DO NOT COPY AND PASTE INTO YOUR RESUME. WE ARE NOT RESPONSIBLE Name: xxxxxx

THIS IS ONLY SAMPLE RESUME - DO NOT COPY AND PASTE INTO YOUR RESUME. WE ARE NOT RESPONSIBLE Name: xxxxxx Name: xxxxxx Email ID: xxxxxx Ph: xxxxxx Summary: Over 7 years of experience in object oriented programming, design and development of Multi-Tier distributed, Enterprise applications using Java and J2EE

More information

/ / JAVA TRAINING

/ / JAVA TRAINING www.tekclasses.com +91-8970005497/+91-7411642061 info@tekclasses.com / contact@tekclasses.com JAVA TRAINING If you are looking for JAVA Training, then Tek Classes is the right place to get the knowledge.

More information

COURSE DETAILS: CORE AND ADVANCE JAVA Core Java

COURSE DETAILS: CORE AND ADVANCE JAVA Core Java COURSE DETAILS: CORE AND ADVANCE JAVA Core Java 1. Object Oriented Concept Object Oriented Programming & its Concepts Classes and Objects Aggregation and Composition Static and Dynamic Binding Abstract

More information

MEAP Edition Manning Early Access Program Spring in Action

MEAP Edition Manning Early Access Program Spring in Action MEAP Edition Manning Early Access Program Spring in Action Fifth Edition Covers Spring 5.0 Version 7 Copyright 2018 Manning Publications For more information on this and other Manning titles go to www.manning.com

More information

Spring Professional v5.0 Exam

Spring Professional v5.0 Exam Spring Professional v5.0 Exam Spring Core Professional v5.0 Dumps Available Here at: /spring-exam/core-professional-v5.0- dumps.html Enrolling now you will get access to 250 questions in a unique set of

More information

Specialized - Mastering Spring 4.2

Specialized - Mastering Spring 4.2 Specialized - Mastering Spring 4.2 Code: Lengt h: URL: TT3330-S4 5 days View Online The Spring framework is an application framework that provides a lightweight container that supports the creation of

More information

Junit Overview. By Ana I. Duncan

Junit Overview. By Ana I. Duncan Junit Overview By Ana I. Duncan 1 What Is Junit Why Junit, Why test? Junit Lifecycle Junit Examples from CM Other Testing frameworks Resources Before After Agenda 2 JUnit is a member of the xunit testing

More information

Stateless -Session Bean

Stateless -Session Bean Stateless -Session Bean Prepared by: A.Saleem Raja MCA.,M.Phil.,(M.Tech) Lecturer/MCA Chettinad College of Engineering and Technology-Karur E-Mail: asaleemrajasec@gmail.com Creating an Enterprise Application

More information

SPRING MOCK TEST SPRING MOCK TEST I

SPRING MOCK TEST SPRING MOCK TEST I http://www.tutorialspoint.com SPRING MOCK TEST Copyright tutorialspoint.com This section presents you various set of Mock Tests related to Spring Framework. You can download these sample mock tests at

More information

Fast Track to Spring 3 and Spring MVC / Web Flow

Fast Track to Spring 3 and Spring MVC / Web Flow Duration: 5 days Fast Track to Spring 3 and Spring MVC / Web Flow Description Spring is a lightweight Java framework for building enterprise applications. Its Core module allows you to manage the lifecycle

More information

Advanced Web Systems 3- Portlet and JSP-JSTL. A. Venturini

Advanced Web Systems 3- Portlet and JSP-JSTL. A. Venturini Advanced Web Systems 3- Portlet and JSP-JSTL A. Venturini Contents Portlet: doview flow Handling Render phase Portlet: processaction flow Handling the action phase Portlet URL Generation JSP and JSTL Sample:

More information

Document for Consuming Web-Service In.NET & JAVA

Document for Consuming Web-Service In.NET & JAVA Document for Consuming Web-Service In.NET & JAVA Delhi e-governance Society, Department of Information Technology, Government of Delhi 9 th Level B Wing Delhi Secretariat 1 Background: Ministry of Electronics

More information

Spring Persistence. with Hibernate PAUL TEPPER FISHER BRIAN D. MURPHY

Spring Persistence. with Hibernate PAUL TEPPER FISHER BRIAN D. MURPHY Spring Persistence with Hibernate PAUL TEPPER FISHER BRIAN D. MURPHY About the Authors About the Technical Reviewer Acknowledgments xii xiis xiv Preface xv Chapter 1: Architecting Your Application with

More information

Courses For Event Java Advanced Summer Training 2018

Courses For Event Java Advanced Summer Training 2018 Courses For Event Java Advanced Summer Training 2018 Java Fundamentals Oracle Java SE 8 Advanced Java Training Java Advanced Expert Edition Topics For Java Fundamentals Variables Data Types Operators Part

More information

Peers Techno log ies Pv t. L td. Core Java & Core Java &Adv Adv Java Java

Peers Techno log ies Pv t. L td. Core Java & Core Java &Adv Adv Java Java Page 1 Peers Techno log ies Pv t. L td. Course Brochure Core Java & Core Java &Adv Adv Java Java Overview Core Java training course is intended for students without an extensive programming background.

More information

CS 112 Introduction to Programming

CS 112 Introduction to Programming CS 112 Introduction to Programming Web Programming: Backend (server side) Programming with Servlet, JSP Yang (Richard) Yang Computer Science Department Yale University 308A Watson, Phone: 432-6400 Email:

More information

Getting Data from the User with Forms. A Basic Form-Submission Workflow

Getting Data from the User with Forms. A Basic Form-Submission Workflow Getting Data from the User with Forms Providing the ability to capture user data is critical for most dynamic web applications. Users often need to register for a user account in order to access certain

More information

Desarrollo de Aplicaciones Web Empresariales con Spring 4

Desarrollo de Aplicaciones Web Empresariales con Spring 4 Desarrollo de Aplicaciones Web Empresariales con Spring 4 Referencia JJD 296 Duración (horas) 30 Última actualización 8 marzo 2018 Modalidades Presencial, OpenClass, a medida Introducción Over the years,

More information

Introduction to AngularJS

Introduction to AngularJS CHAPTER 1 Introduction to AngularJS Google s AngularJS is an all-inclusive JavaScript model-view-controller (MVC) framework that makes it very easy to quickly build applications that run well on any desktop

More information

Copyright 2011 Sakun Sharma

Copyright 2011 Sakun Sharma Maintaining Sessions in JSP We need sessions for security purpose and multiuser support. Here we are going to use sessions for security in the following manner: 1. Restrict user to open admin panel. 2.

More information

JVA-563. Developing RESTful Services in Java

JVA-563. Developing RESTful Services in Java JVA-563. Developing RESTful Services in Java Version 2.0.1 This course shows experienced Java programmers how to build RESTful web services using the Java API for RESTful Web Services, or JAX-RS. We develop

More information

Unit Testing Activity

Unit Testing Activity Unit Testing Activity SWEN-261 Introduction to Software Engineering Department of Software Engineering Rochester Institute of Technology Your activity for the Unit Testing lesson is to build tests for

More information

Spring MVC Command Beans As Complex As You Need

Spring MVC Command Beans As Complex As You Need Visit: www.intertech.com/blog Spring MVC Command Beans As Complex As You Need One of the complex Spring MVC user interfaces deals with showing multiple records in an HTML table and allowing users to randomly

More information

PROCE55 Mobile: Web API App. Web API. https://www.rijksmuseum.nl/api/...

PROCE55 Mobile: Web API App. Web API. https://www.rijksmuseum.nl/api/... PROCE55 Mobile: Web API App PROCE55 Mobile with Test Web API App Web API App Example This example shows how to access a typical Web API using your mobile phone via Internet. The returned data is in JSON

More information

JAVA SYLLABUS FOR 6 MONTHS

JAVA SYLLABUS FOR 6 MONTHS JAVA SYLLABUS FOR 6 MONTHS Java 6-Months INTRODUCTION TO JAVA Features of Java Java Virtual Machine Comparison of C, C++, and Java Java Versions and its domain areas Life cycle of Java program Writing

More information

COMP9321 Web Application Engineering

COMP9321 Web Application Engineering COMP9321 Web Application Engineering Java Server Pages (JSP) Dr. Basem Suleiman Service Oriented Computing Group, CSE, UNSW Australia Semester 1, 2016, Week 3 http://webapps.cse.unsw.edu.au/webcms2/course/index.php?cid=2442

More information

Testing Your Android Applications

Testing Your Android Applications Testing Your Android Applications Alexander Nelson November 17th, 2017 University of Arkansas - Department of Computer Science and Computer Engineering The Problem Testing Advantages Testing your application

More information

Schema Null Cannot Be Resolved For Table Jpa

Schema Null Cannot Be Resolved For Table Jpa Schema Null Cannot Be Resolved For Table Jpa (14, 19) The abstract schema type 'Movie' is unknown. (28, 35) The state field path 'm.title' cannot be resolved to a valid type. at org.springframework.web.servlet.

More information

DVS WEB INFOTECH DEVELOPMENT TRAINING RESEARCH CENTER

DVS WEB INFOTECH DEVELOPMENT TRAINING RESEARCH CENTER DVS WEB INFOTECH DEVELOPMENT TRAINING RESEARCH CENTER J2EE CURRICULUM Mob : +91-9024222000 Mob : +91-8561925707 Email : info@dvswebinfotech.com Email : hr@dvswebinfotech.com 48, Sultan Nagar,Near Under

More information

Announcements. Lab tomorrow. Quiz Thursday P3 due Friday. Exceptions and unit testing

Announcements. Lab tomorrow. Quiz Thursday P3 due Friday. Exceptions and unit testing Announcements Lab tomorrow Exceptions and unit testing Quiz Thursday P3 due Friday Follow-ups Exceptions and Try-catch Using try-catch with loops Comparison to switch vs. if-else if Realistic examples

More information

Review. Fundamentals of Website Development. Web Extensions Server side & Where is your JOB? The Department of Computer Science 11/30/2015

Review. Fundamentals of Website Development. Web Extensions Server side & Where is your JOB? The Department of Computer Science 11/30/2015 Fundamentals of Website Development CSC 2320, Fall 2015 The Department of Computer Science Review Web Extensions Server side & Where is your JOB? 1 In this chapter Dynamic pages programming Database Others

More information

Creating RESTful web services with Spring Boot

Creating RESTful web services with Spring Boot Creating RESTful web services with Spring Boot The Spring framework Free and open source Inversion of Control Container (IoC) Modules DI / AOP Data /Security Web MVC/ REST So much more +++ What is Spring

More information

The most frequently asked questions about JUnit are answered here (especially sections 4, 5 and 7):

The most frequently asked questions about JUnit are answered here (especially sections 4, 5 and 7): Java JUnit Tutorial Author: Péter Budai, BME IIT, 2011. The description of the annotations of JUnit can be found here: http://junit.sourceforge.net/javadoc/ The most frequently asked questions about JUnit

More information

thymeleaf #thymeleaf

thymeleaf #thymeleaf thymeleaf #thymeleaf Table of Contents About 1 Chapter 1: Getting started with thymeleaf 2 Remarks 2 Versions 2 Examples 2 Configuration 2 Using checkboxes 3 Ajax form submition with Jquery 4 Replacing

More information

Spring MVC 4.x Spring 5 Web Reactive

Spring MVC 4.x Spring 5 Web Reactive Part 1 Spring MVC 4.x Spring 5 Web Reactive Rossen Stoyanchev @rstoya05 Spring MVC 4.3 Reactive programming for Java devs Spring 5 Web Reactive Shortcut Annotations @RequestMapping @GetMapping @PostMapping

More information

Introduction to Software Engineering: Tools and Environments. Session 5. Oded Lachish

Introduction to Software Engineering: Tools and Environments. Session 5. Oded Lachish Introduction to Software Engineering: Tools and Environments Session 5 Oded Lachish Room: Mal 405 Visiting Hours: Wednesday 17:00 to 20:00 Email: oded@dcs.bbk.ac.uk Module URL: http://www.dcs.bbk.ac.uk/~oded/tools2012-2013/web/tools2012-2013.html

More information

Web Application Development Using Spring, Hibernate and JPA

Web Application Development Using Spring, Hibernate and JPA Web Application Development Using Spring, Hibernate and JPA Duration: 5 Days Price: 1,995 + VAT Course Description: This course provides a comprehensive introduction to JPA (the Java Persistence API),

More information

APACHE SLING & FRIENDS TECH MEETUP BERLIN, SEPTEMBER Sling Rookie Session. Sebastian Schlick, pro!vision GmbH

APACHE SLING & FRIENDS TECH MEETUP BERLIN, SEPTEMBER Sling Rookie Session. Sebastian Schlick, pro!vision GmbH APACHE SLING & FRIENDS TECH MEETUP BERLIN, 22-24 SEPTEMBER 2014 Sling Rookie Session Sebastian Schlick, pro!vision GmbH About the Speaker CQ5/AEM6 Developer Apache Sling User Lead dev pro!vision GmbH http://www.pro-vision.de

More information

JSTL. JSTL (Java Standard Tag Library) is a collection of custom tags that are developed and maintained by the Jakarta project.

JSTL. JSTL (Java Standard Tag Library) is a collection of custom tags that are developed and maintained by the Jakarta project. JSTL JSTL (Java Standard Tag Library) is a collection of custom tags that are developed and maintained by the Jakarta project. To use them you need to download the appropriate jar and tld files for the

More information

Unit Testing and JUnit

Unit Testing and JUnit Unit Testing and JUnit Moinul Hossain CS 791Z 03/02/2015 Outline What is Software Testing? What and Why Unit Testing? JUnit JUnit features and Examples Test Driven Development (TDD) What is Software Testing?

More information

TDDD05: Application frameworks

TDDD05: Application frameworks TDDD05: Application frameworks Ola Leifler, IDA, Linköpings universitet Component frameworks A component framework is a software entity that supports components conforming to certain standards and allows

More information

Application Development in JAVA. Data Types, Variable, Comments & Operators. Part I: Core Java (J2SE) Getting Started

Application Development in JAVA. Data Types, Variable, Comments & Operators. Part I: Core Java (J2SE) Getting Started Application Development in JAVA Duration Lecture: Specialization x Hours Core Java (J2SE) & Advance Java (J2EE) Detailed Module Part I: Core Java (J2SE) Getting Started What is Java all about? Features

More information

LTBP INDUSTRIAL TRAINING INSTITUTE

LTBP INDUSTRIAL TRAINING INSTITUTE Java SE Introduction to Java JDK JRE Discussion of Java features and OOPS Concepts Installation of Netbeans IDE Datatypes primitive data types non-primitive data types Variable declaration Operators Control

More information

JAVA COURSES. Empowering Innovation. DN InfoTech Pvt. Ltd. H-151, Sector 63, Noida, UP

JAVA COURSES. Empowering Innovation. DN InfoTech Pvt. Ltd. H-151, Sector 63, Noida, UP 2013 Empowering Innovation DN InfoTech Pvt. Ltd. H-151, Sector 63, Noida, UP contact@dninfotech.com www.dninfotech.com 1 JAVA 500: Core JAVA Java Programming Overview Applications Compiler Class Libraries

More information

JavaServer Pages. What is JavaServer Pages?

JavaServer Pages. What is JavaServer Pages? JavaServer Pages SWE 642, Fall 2008 Nick Duan What is JavaServer Pages? JSP is a server-side scripting language in Java for constructing dynamic web pages based on Java Servlet, specifically it contains

More information

Spring Interview Questions

Spring Interview Questions Spring Interview Questions By Srinivas Short description: Spring Interview Questions for the Developers. @2016 Attune World Wide All right reserved. www.attuneww.com Contents Contents 1. Preface 1.1. About

More information

open source community experience distilled

open source community experience distilled Java EE 6 Development with NetBeans 7 Develop professional enterprise Java EE applications quickly and easily with this popular IDE David R. Heffelfinger [ open source community experience distilled PUBLISHING

More information

Integrated Architecture for Web Application Development Based on Spring Framework and Activiti Engine

Integrated Architecture for Web Application Development Based on Spring Framework and Activiti Engine Integrated Architecture for Web Application Development Based on Spring Framework and Activiti Engine Xiujin Shi,Kuikui Liu,Yue Li School of Computer Science and Technology Donghua University Shanghai,

More information

SPEL INJECTION. Alexandr (WebR0ck) Romanov

SPEL INJECTION. Alexandr (WebR0ck) Romanov SPEL INJECTION Alexandr (WebR0ck) Romanov SpEL? The Spring Expression Language (SpEL for short) is expression language that supports querying and manipulating an object graph at runtime. For what? To associate

More information

Course Content for Java J2EE

Course Content for Java J2EE CORE JAVA Course Content for Java J2EE After all having a lot number of programming languages. Why JAVA; yet another language!!! AND NOW WHY ONLY JAVA??? PART-1 Basics & Core Components Features and History

More information

Testing. My favourite testing quote: Program testing can be used to show the presence of bugs, but never to show their absence!

Testing. My favourite testing quote: Program testing can be used to show the presence of bugs, but never to show their absence! Testing Some resources The most time-consuming of a development project. See for example https://www.itu.dk/people/sestoft/ papers/softwaretesting.pdf - Peter Sestoft testing notes Testing My favourite

More information

Simplifying GWT RPC with

Simplifying GWT RPC with 2012 Yaakov Chaikin Simplifying GWT RPC with Open Source GWT-Tools RPC Service (GWT 2.4 Version) Originals of Slides and Source Code for Examples: http://courses.coreservlets.com/course-materials/gwt.html

More information

Unit Tes2ng Ac2vity. SWEN-261 Introduc2on to So3ware Engineering. Department of So3ware Engineering Rochester Ins2tute of Technology

Unit Tes2ng Ac2vity. SWEN-261 Introduc2on to So3ware Engineering. Department of So3ware Engineering Rochester Ins2tute of Technology Unit Tes2ng Ac2vity SWEN-261 Introduc2on to So3ware Engineering Department of So3ware Engineering Rochester Ins2tute of Technology Your activity for the Unit Testing lesson is to build tests for existing

More information

JUnit Programming Cookbook. JUnit Programming Cookbook

JUnit Programming Cookbook. JUnit Programming Cookbook JUnit Programming Cookbook i JUnit Programming Cookbook JUnit Programming Cookbook ii Contents 1 Hello World Example 1 1.1 Setup JUnit Hello World Project........................................... 1 1.2

More information

Groovy and Grails in Google App Engine

Groovy and Grails in Google App Engine Groovy and Grails in Google App Engine Benefit from a Java-like dynamic language to be more productive on App Engine Guillaume Laforge Head of Groovy Development Guillaume Laforge Groovy Project Manager

More information

JUnit in EDA Introduction. 2 JUnit 4.3

JUnit in EDA Introduction. 2 JUnit 4.3 Lunds tekniska högskola Datavetenskap, Nov 25, 2010 Görel Hedin EDA260 Programvaruutveckling i grupp projekt Labb 3 (Test First): Bakgrundsmaterial JUnit in EDA260 1 Introduction The JUnit framework is

More information

mvn package -Dmaven.test.skip=false //builds DSpace and runs tests

mvn package -Dmaven.test.skip=false //builds DSpace and runs tests DSpace Testing 1 Introduction 2 Quick Start 2.1 Maven 2.2 JUnit 2.3 JMockit 2.4 ContiPerf 2.5 H2 3 Unit Tests Implementation 3.1 Structure 3.2 Limitations 3.3 How to build new tests 3.4 How to run the

More information

TestingofScout Application. Ludwigsburg,

TestingofScout Application. Ludwigsburg, TestingofScout Application Ludwigsburg, 27.10.2014 The Tools approach The Testing Theory approach Unit testing White box testing Black box testing Integration testing Functional testing System testing

More information

Microservices mit Java, Spring Boot & Spring Cloud. Eberhard Wolff

Microservices mit Java, Spring Boot & Spring Cloud. Eberhard Wolff Microservices mit Java, Spring Boot & Spring Cloud Eberhard Wolff Fellow @ewolff What are Microservices? Micro Service: Definition > Small > Independent deployment units > i.e. processes or VMs > Any technology

More information

RobertaLab: Configuration, Architecture, Frameworks, Design

RobertaLab: Configuration, Architecture, Frameworks, Design Roberta Seite 1 RobertaLab: Configuration, Architecture, Frameworks, Design reinhard.budde at iais.fraunhofer.de version 0.3 002014 12:57 Overview The system consists out of three distributed components,

More information

Complete Java Contents

Complete Java Contents Complete Java Contents Duration: 60 Hours (2.5 Months) Core Java (Duration: 25 Hours (1 Month)) Java Introduction Java Versions Java Features Downloading and Installing Java Setup Java Environment Developing

More information

Overview of Web Application Development

Overview of Web Application Development Overview of Web Application Development Web Technologies I. Zsolt Tóth University of Miskolc 2018 Zsolt Tóth (University of Miskolc) Web Apps 2018 1 / 34 Table of Contents Overview Architecture 1 Overview

More information

Testing Stragegies. Black Box Testing. Test case

Testing Stragegies. Black Box Testing. Test case References: Teach Yourself Object-Oriented Programming in 21 Days by A.Sintes, 1 Testing Stragegies Test case a set of inputs and expected outputs looks at specific piece of functionality to determine

More information