Avalados por :

Problemas ao executar método de teste unitário: Solução criação ProductModel

  • Creado 01/03/2024
  • Modificado 01/03/2024
  • 2 Vistas
0
Cargando...

Olá,

Estou com alguns problemas para executar meu próprio método de teste unitário... Acredito que o problema esteja na criação do ProductModel, mas não tenho certeza...

A mensagem de erro:

 java.lang.ExceptionInInitializerError
     at de.hybris.platform.servicelayer.model.DefaultNewModelContextFactory.getTenantId(DefaultNewModelContextFactory.java:48)
     at de.hybris.platform.servicelayer.model.DefaultNewModelContextFactory.createNewBuilder(DefaultNewModelContextFactory.java:39)
     at de.hybris.platform.servicelayer.model.DefaultNewModelContextFactory.createNew(DefaultNewModelContextFactory.java:30)
     at de.hybris.platform.servicelayer.model.AbstractItemModel.<init>(AbstractItemModel.java:65)
     at de.hybris.platform.core.model.ItemModel.<init>(ItemModel.java:76)
     at de.hybris.platform.core.model.product.ProductModel.<init>(ProductModel.java:675)
     at com.unic.hybris.interdiscount.b2b.facades.impl.DefaultIDB2BProductFacadeTest.testGetProduct(DefaultIDB2BProductFacadeTest.java:72)
     ...
 Causado por: de.hybris.bootstrap.config.BootstrapConfigException: Não é possível determinar platformhome
     at de.hybris.bootstrap.config.ConfigUtil.getPlatformHome(ConfigUtil.java:136)
     ...
 Causado por: de.hybris.bootstrap.config.BootstrapConfigException: Não é possível determinar o caminho para o arquivo core-items.xml
     at de.hybris.bootstrap.    
            
Pedro Pascal
Se unió el 07/03/2018
Pinterest
Telegram
Linkedin
Whatsapp

4 Respuestas

0
Cargando...

¡Hola Raghavendra!

¡Muchas gracias por tu respuesta! He creado un modelo de prueba del ProductModel y funciona. Pero no entiendo por qué no utilizan un modelo de prueba en los ensayos... ¿Hay alguna diferencia entre un modelo hecho a mano y el ProductModel?

Enlace al ensayo:

https://wiki.hybris.com/display/tr52/Trail+~+Testing+the+Facades

Saludos

Respondido el 15/04/2024
LUCIANO RIOJA GHIOTTO
Se unió el 13/07/2019
0
Cargando...

private ProductModel getProductModel(){

  final ItemModelInternalContext context = ItemContextBuilder      .createMockContextBuilder(CustomerModel.class, PK.NULL_PK, Locale.ENGLISH, Collections.emptyMap())      .build();  final ProductModel productModel = new ProductModel(context);  return  productModel;}
Respondido el 15/04/2024
LUCIANO RIOJA GHIOTTO
Se unió el 13/07/2019
0
Cargando...

°Olá Dominik!

Acredito que isso se deve apenas à sua classe de teste. Não estou encontrando a anotação @unittest no topo da sua classe, o que ajuda o Hybris a identificar essa classe como uma classe de teste unitário.

Outro ponto é que ao escrever a classe de teste unitário, não é necessário instanciar a classe do modelo, você pode usar o framework Mockito como mostrado no código abaixo. Por favor, tente e verifique.

 ProductModel  productModel = Mockito.mock(ProductModel .class);
 Mockito.when(productModel .getCode()).thenReturn("TEST");

Acredito que o problema reside em instanciar o modelo na classe de teste, que procura no caminho dos recursos, o que não estará disponível para casos de teste unitário, então use o framework Mockito e deve funcionar.

Atenciosamente,

Raghavendra.

Respondido el 15/04/2024
LUCIANO RIOJA GHIOTTO
Se unió el 13/07/2019
0
Cargando...

Você inicializou e ativou o inquilino do jUnit no hAC?

Respondido el 15/04/2024
LUCIANO RIOJA GHIOTTO
Se unió el 13/07/2019

contacto@primeinstitute.com

(+51) 1641 9379
(+57) 1489 6964

© 2024 Copyright. Todos los derechos reservados.

Desarrollado por Prime Institute

¡Hola! Soy Diana, asesora académica de Prime Institute, indícame en que curso estas interesado, saludos!
Hola ¿Puedo ayudarte?