Foros del Web » Programación para mayores de 30 ;) » Java »

errores en el modelo

Estas en el tema de errores en el modelo en el foro de Java en Foros del Web. Buenas, Tengo un problema con las clases de java, y es el siguiente: Este codigo es de un junit: @import url("http://static.forosdelweb.com/clientscript/vbulletin_css/geshi.css"); Código Java: Ver original ...
  #1 (permalink)  
Antiguo 30/07/2013, 13:34
Avatar de seroons  
Fecha de Ingreso: abril-2002
Ubicación: Sevilla
Mensajes: 20
Antigüedad: 22 años
Puntos: 1
errores en el modelo

Buenas,

Tengo un problema con las clases de java, y es el siguiente:

Este codigo es de un junit:

Código Java:
Ver original
  1. package es.witmachine.testing;
  2.  
  3. import org.apache.cocoon.rest.controller.annotation.RequestParameter;
  4. import org.junit.Test;
  5. import es.witmachine.model.Machine;
  6.  
  7. public class machinetest {
  8.     @RequestParameter
  9.     private String name, description, date, hoursJobs;
  10.    
  11.     @Test
  12.     public void testPrint() {
  13.         final Machine machine = new Machine();
  14.        
  15.         machine.setName("bosch machine 2300XC");
  16.         machine.setDescription("Taladro manual percutor.");
  17.         machine.setHoursJobs("130");
  18.         machine.setDate("15-5-2013");
  19.  
  20.         System.out.println("test machine");
  21.         System.out.println("name=" + machine.getName() +
  22.                 "description=" + machine.getDescription() +
  23.                 "hours jobs=" + machine.getHoursJobs() +
  24.                 "date=" + machine.getDate());      
  25.     }
  26. }

Y este es el modelo llamado machine.java:

Código Java:
Ver original
  1. package es.witmachine.model;
  2.  
  3. public class Machine {
  4.    
  5.     // data machine
  6.     private int idmachine;
  7.     private String name;
  8.     private String description;
  9.     private String date;
  10.     private String hoursJobs;
  11.    
  12.     public int getIdmachine() {
  13.         return idmachine;
  14.     }
  15.     public void setIdmachine(int idmachine) {
  16.         this.idmachine = idmachine;
  17.     }
  18.     public String getName() {
  19.         return name;
  20.     }
  21.     public void setName(String name) {
  22.         this.name = name;
  23.     }
  24.     public String getDescription() {
  25.         return description;
  26.     }
  27.     public void setDescription(String description) {
  28.         this.description = description;
  29.     }
  30.     public String getDate() {
  31.         return date;
  32.     }
  33.     public void setDate(String date) {
  34.         this.date = date;
  35.     }
  36.     public String getHoursJobs() {
  37.         return hoursJobs;
  38.     }
  39.     public void setHoursJobs(String hoursJobs) {
  40.         this.hoursJobs = hoursJobs;
  41.     }
  42.    
  43. }

El caso es que me dice: "The import es.witmachine.model.Machine cannot be resolved", en junit me dice "Machine cannot be resolved to a type."

Tiene que ser algo muy simple con los tipos, pero no lo veo.

Gracias por la ayuda.
  #2 (permalink)  
Antiguo 30/07/2013, 14:07
 
Fecha de Ingreso: marzo-2012
Ubicación: Argentina
Mensajes: 111
Antigüedad: 12 años, 1 mes
Puntos: 12
Respuesta: errores en el modelo

Eso no es un test unitario
  #3 (permalink)  
Antiguo 30/07/2013, 14:43
Avatar de seroons  
Fecha de Ingreso: abril-2002
Ubicación: Sevilla
Mensajes: 20
Antigüedad: 22 años
Puntos: 1
Respuesta: errores en el modelo

¿Por que dices que no es un test unitario?. Creo que lo dices por que faltan los "assert". ¿cierto?.
  #4 (permalink)  
Antiguo 30/07/2013, 15:07
Avatar de HackmanC  
Fecha de Ingreso: enero-2008
Ubicación: Guatemala
Mensajes: 1.817
Antigüedad: 16 años, 2 meses
Puntos: 260
Sonrisa Respuesta: errores en el modelo

Hola,

Cita:
Iniciado por seroons Ver Mensaje
... El caso es que me dice: "The import es.witmachine.model.Machine cannot be resolved", en junit me dice "Machine cannot be resolved to a type."

Tiene que ser algo muy simple con los tipos, pero no lo veo.
Exactamente el error dice "El import ... no se puede encontrar (revolver)". Es decir, al ejecutar el test tiene que tener acceso a esas clases. Como no indicas en que herramienta o como estas haciendo los test unitarios dependerá completamente de las herramientas que estés usando, el classpath en el momento de la compilación o ejecución, u otros muchos factores.

Cita:
Iniciado por darkChild Ver Mensaje
Eso no es un test unitario
Igualmente me intriga ... ¿Por que dices que no es un test unitario?

Saludos,
  #5 (permalink)  
Antiguo 30/07/2013, 15:52
Avatar de Xerelo  
Fecha de Ingreso: mayo-2009
Mensajes: 2.175
Antigüedad: 14 años, 11 meses
Puntos: 306
Respuesta: errores en el modelo

Supongo que lo dice porque no se está haciendo ningún assert, pero de todas formas ese modelo no necesita test, es una pérdida de tiempo.

http://stackoverflow.com/questions/6...er-and-setters

Getters y setters no necesitan ser probados a menos que existan validaciones, y aún así hay que ponderarlo, imagina hacer un test por cada modelo de un proyecto.
__________________
Cada vez que solucionas los problemas de alguien que no se esfuerza, piensa en que el día de mañana puede llegar a ser tu compañero de trabajo, o peor, tu jefe.
  #6 (permalink)  
Antiguo 30/07/2013, 16:55
Avatar de HackmanC  
Fecha de Ingreso: enero-2008
Ubicación: Guatemala
Mensajes: 1.817
Antigüedad: 16 años, 2 meses
Puntos: 260
Sonrisa Respuesta: errores en el modelo

Hola,

Cita:
Iniciado por Xerelo Ver Mensaje
Supongo que lo dice porque no se está haciendo ningún assert, pero de todas formas ese modelo no necesita test, es una pérdida de tiempo. ...
Entiendo, definitivamente ese Test no es útil, pero técnicamente si es un Test. Me quedaba la duda si técnicamente había algún problema para calificarlo como Test o no. Y también comparto la opinión de no hacer Test innecesarios.

Saludos,
  #7 (permalink)  
Antiguo 31/07/2013, 01:17
Avatar de seroons  
Fecha de Ingreso: abril-2002
Ubicación: Sevilla
Mensajes: 20
Antigüedad: 22 años
Puntos: 1
Respuesta: errores en el modelo

Lo del jUnit lo he pillado, es inútil hace pruebas a los getter y setter.

Ahora bien, estoy utilizando el framework "apache cocoon", este es el codigo:

Código Java:
Ver original
  1. package es.witmachine.controller;
  2. import es.witmachine.manager.MachineManager;
  3. import es.witmachine.model.Machine;
  4. import java.util.Map;
  5. import java.util.HashMap;
  6. import javax.servlet.http.HttpServletRequest;
  7. import org.apache.cocoon.rest.controller.annotation.Inject;
  8. import org.apache.cocoon.rest.controller.annotation.RESTController;
  9. import org.apache.cocoon.rest.controller.annotation.RequestParameter;
  10. import org.apache.cocoon.rest.controller.annotation.SitemapParameter;
  11. import org.apache.cocoon.rest.controller.method.Delete;
  12. import org.apache.cocoon.rest.controller.method.Get;
  13. import org.apache.cocoon.rest.controller.method.Post;
  14. import org.apache.cocoon.rest.controller.method.Put;
  15. import org.apache.cocoon.rest.controller.response.RedirectResponse;
  16. import org.apache.cocoon.rest.controller.response.RestResponse;
  17. import org.apache.cocoon.rest.controller.response.URLResponse;
  18. import org.springframework.beans.factory.annotation.Autowired;
  19. import org.springframework.beans.factory.annotation.Qualifier;
  20.  
  21. @RESTController
  22. public class MachineController implements Post, Get, Delete, Put {
  23.    
  24.     @RequestParameter
  25.     private String name, description, date, hoursJobs;
  26.    
  27.     @SitemapParameter
  28.     private int idmachine;
  29.    
  30.     @Autowired
  31.     @Qualifier("machineManager")
  32.     private MachineManager machineManager;
  33.    
  34.     @Inject
  35.     HttpServletRequest request;
  36.    
  37.     public RestResponse doPost() throws Exception {
  38.         final Machine machine = new Machine();
  39.        
  40.         machine.setName(name);
  41.         machine.setDescription(description);
  42.         machine.setHoursJobs(hoursJobs);
  43.         machine.setDate(date);
  44.         machineManager.create(machine);
  45.        
  46.         return new RedirectResponse("/machine");
  47.     }
  48.    
  49.    
  50.     public RestResponse doPut() throws Exception {
  51.         final Machine machine = new Machine();
  52.         machine.setName(name);
  53.         machine.setDescription(description);
  54.         machine.setHoursJobs(hoursJobs);
  55.         machine.setDate(date);
  56.         machineManager.update(machine);
  57.        
  58.         return new RedirectResponse("/machine");
  59.     }
  60.    
  61.     public RestResponse doDelete() throws Exception {
  62.         machineManager.delete(idmachine);
  63.         return new RedirectResponse("/machine");
  64.     }
  65.  
  66.     public RestResponse doGet() throws Exception {
  67.         final Map<String, Object> result = new HashMap<String, Object>();
  68.         System.out.println("idmachine= " + idmachine);
  69.         result.put("idmachine", this.idmachine);
  70.         result.put("name", this.name);
  71.         result.put("description", this.description);
  72.         result.put("hoursJobs", this.hoursJobs);
  73.        
  74.         return new URLResponse("servlet:/screen/rest-controller-view.html", result);
  75.     }
  76.    
  77. }

y el error que me da en la consola es este:

error: package org.apache.cocoon.rest.controller.annotation does not exist
  #8 (permalink)  
Antiguo 31/07/2013, 03:35
Avatar de Xerelo  
Fecha de Ingreso: mayo-2009
Mensajes: 2.175
Antigüedad: 14 años, 11 meses
Puntos: 306
Respuesta: errores en el modelo

¿El paquete está en el classpath de las pruebas?¿Tú código se corresponde con la versión del cocoon? A veces cambian de sitio clases.
__________________
Cada vez que solucionas los problemas de alguien que no se esfuerza, piensa en que el día de mañana puede llegar a ser tu compañero de trabajo, o peor, tu jefe.
  #9 (permalink)  
Antiguo 31/07/2013, 07:00
 
Fecha de Ingreso: marzo-2012
Ubicación: Argentina
Mensajes: 111
Antigüedad: 12 años, 1 mes
Puntos: 12
Respuesta: errores en el modelo

Buenas;

El test no es test ,básicamente ,porque no prueba nada.

En particular soy de los adeptos a TDD y en ese caso deberías probar la

mayoria de las cosas o bien todas ,dado que comenzas a desarrollar ,a partir de los test.

De todos modos como definís que es simple y que no lo es (depende de cada persona).Desde el pensamiento Black-Box no hay forma de saber que es trivial y que no lo es.

Igualmente son posturas, todas respetables que de un modo u otro deben ayudarte a diseñar de manera más flexible. Lo importante creo, es no atarse a ninguna metodología y ver lo mejor de cada una.

Saludos.

Etiquetas: Ninguno
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 08:40.