Spring Boot 1.4 MVC testing with Thymeleaf results in TemplateProcessingException

user2693135

I'm trying to test a Spring Boot 1.4.0.M3 MVC slice. The controller is this.

@Controller
public class ProductController {

private ProductService productService;

@Autowired
public void setProductService(ProductService productService) {
    this.productService = productService;
 }

 @RequestMapping("product/{id}")
 public String showProduct(@PathVariable Integer id, Model model){
    model.addAttribute("product", productService.getProductById(id));
    return "productshow";
 }
}

The minimized view of the productshow.html thymeleaf template is this.

<!DOCTYPE html>
<html xmlns:th="http://www.thymeleaf.org">
<body>
 <div class="container">  
  <h2>Product Details</h2>
    <div>
        <form class="form-horizontal">
            <div class="form-group">
                <label class="col-sm-2 control-label">Product Id:</label>
                <div class="col-sm-10">
                    <p class="form-control-static" th:text="${product.id}">Product Id</p></div>
            </div>
            <div class="form-group">
                <label class="col-sm-2 control-label">Description:</label>
                <div class="col-sm-10">
                    <p class="form-control-static" th:text="${product.description}">description</p>
                </div>
            </div>                
        </form>
   </div>
  </div>
</body>
</html>

And the test class is this.

@RunWith(SpringRunner.class)
@WebMvcTest(controllers = ProductController.class, secure = false)
//@AutoConfigureMockMvc(secure=false)
public class ProductControllerTest {
    @Autowired
    private MockMvc mockMvc;
    @MockBean
    private ProductService productServiceMock;

@Test
public void testShowProduct() throws Exception {
   Product product1 = new Product();
   product1.setId(1);
   product1.setDescription("T Shirt");
   product1.setPrice(new BigDecimal("18.95"));
   product1.setImageUrl("https://example.com/wp-content/uploads/2015/04/spring_framework_guru_shirt-rf412049699c14ba5b68bb1c09182bfa2_8nax2_512.jpg");
   when(productServiceMock.getProductById(1)).thenReturn(product1);

   MvcResult result = mockMvc.perform(get("/product/{id}/", 1))
           .andExpect(status().isOk())              
           .andReturn();
 }
}

On running the test, I get the following error.

2016-07-03 00:03:29.021 ERROR 6800 --- [           main]  
org.thymeleaf.TemplateEngine             : [THYMELEAF][main] Exception  
processing template "productshow": Exception evaluating SpringEL 
expression: "product.id" (productshow:19)

org.springframework.web.util.NestedServletException: Request processing  
failed; nested exception is 
org.thymeleaf.exceptions.TemplateProcessingException: Exception 
evaluating SpringEL expression: "product.id" (productshow:19)

Need help to resolve this. Thanks in advance.

user2693135

Passing the correct controller to @WebMvcTest resolved the issue. The edited code after passing ProductController.class is working.

Collected from the Internet

Please contact [email protected] to delete if infringement.

edited at
0

Comments

0 comments
Login to comment

Related

Spring Boot Testing Thymeleaf org.thymeleaf.exceptions.TemplateProcessingException

Spring Thymeleaf TemplateProcessingException in SpringInputGeneralFieldTagProcessor

spring mvc 4 + thymeleaf

Spring Boot Webflow MVC Thymeleaf config

Spring MVC testing results in 415 error

Spring boot + Thymeleaf + webjars Bootstrap 4

Spring-Boot + Spring-MVC + Thymeleaf + Apache Tiles

How to convert FTP from Spring MVC to Spring Boot/Thymeleaf?

org.thymeleaf.exceptions.TemplateProcessingException: Exception evaluating SpringEL expression: "ServiceAmc.id" (results:30)

Update database ManytoOne relationship (Spring Boot + MVC +Thymeleaf)

Spring Boot - Thymeleaf template

spring boot and thymeleaf

Pagination with Spring Boot and Thymeleaf

Spring Boot, Thymeleaf and @Controller

Spring Boot, Thymeleaf and CSS

Issues with Spring Boot and Thymeleaf

thymeleaf caching with spring boot

Thymeleaf dropdown with Spring Boot

Bootstrap 4 styles not loaded using spring boot with thymeleaf

Spring boot Thymeleaf and angularjs 1 - angularjs http request to spring controller not binding in thymeleaf view

Thymeleaf + Spring MVC + Rest

Thymeleaf + Spring mvc Variable

Spring MVC Thymeleaf Kotlin

Testing Neo4j with Spring Boot and embedded driver

org.thymeleaf.exceptions.TemplateProcessingException: Concatenation href

Spring Boot: How refer CSS by Thymeleaf without matter if spring.mvc.servlet.path was defined or not?

Spring Boot Camel Testing

Spring Boot & Thymeleaf: list of links

Spring Boot & Thymeleaf: list of links

TOP Ranking

  1. 1

    Failed to listen on localhost:8000 (reason: Cannot assign requested address)

  2. 2

    Loopback Error: connect ECONNREFUSED 127.0.0.1:3306 (MAMP)

  3. 3

    How to import an asset in swift using Bundle.main.path() in a react-native native module

  4. 4

    pump.io port in URL

  5. 5

    Compiler error CS0246 (type or namespace not found) on using Ninject in ASP.NET vNext

  6. 6

    BigQuery - concatenate ignoring NULL

  7. 7

    ngClass error (Can't bind ngClass since it isn't a known property of div) in Angular 11.0.3

  8. 8

    ggplotly no applicable method for 'plotly_build' applied to an object of class "NULL" if statements

  9. 9

    Spring Boot JPA PostgreSQL Web App - Internal Authentication Error

  10. 10

    How to remove the extra space from right in a webview?

  11. 11

    java.lang.NullPointerException: Cannot read the array length because "<local3>" is null

  12. 12

    Jquery different data trapped from direct mousedown event and simulation via $(this).trigger('mousedown');

  13. 13

    flutter: dropdown item programmatically unselect problem

  14. 14

    How to use merge windows unallocated space into Ubuntu using GParted?

  15. 15

    Change dd-mm-yyyy date format of dataframe date column to yyyy-mm-dd

  16. 16

    Nuget add packages gives access denied errors

  17. 17

    Svchost high CPU from Microsoft.BingWeather app errors

  18. 18

    Can't pre-populate phone number and message body in SMS link on iPhones when SMS app is not running in the background

  19. 19

    12.04.3--- Dconf Editor won't show com>canonical>unity option

  20. 20

    Any way to remove trailing whitespace *FOR EDITED* lines in Eclipse [for Java]?

  21. 21

    maven-jaxb2-plugin cannot generate classes due to two declarations cause a collision in ObjectFactory class

HotTag

Archive