Problema ao fazer classe de teste com JUnit 4.X com projeto GlassFish 4 + EE7

0 respostas
E

Boa noite pessoal.

Estou com este problema há algum tempo, já pesquisei algumas soluções, porém não encontrei nada, por isto estou fazendo este post.

Estou começando a estudar Java EE, neste momento, estou utilizando NetBeans 8.0.2 com servidor GlassFish 4.

Neste projeto, quero gerar uma classe de teste básica, usando o JUnit 4.x.

Segue a classe de teste gerada:

@Before
    public void setUp() {
        //Mook User Object
        usrOne = new Users();
        usrOne.setUsuAdministrator(new Random().nextBoolean());
        usrOne.setUsuDentist(new Random().nextBoolean());
        usrOne.setUsuLogin("testLoginOne " + new Random().nextInt());
        usrOne.setUsuNome("testNameOne " + new Random().nextInt());
        usrOne.setUsuPassword(usrOne.getUsuLogin());
        //Mook User Object
        usrTwo = new Users();
        usrTwo.setUsuAdministrator(new Random().nextBoolean());
        usrTwo.setUsuDentist(new Random().nextBoolean());
        usrTwo.setUsuLogin("testLoginTwo " + new Random().nextInt());
        usrTwo.setUsuNome("testNameTwo " + new Random().nextInt());
        usrTwo.setUsuPassword(usrOne.getUsuLogin());
        //Mook User Object
        usrThree = new Users();
        usrThree.setUsuAdministrator(new Random().nextBoolean());
        usrThree.setUsuDentist(new Random().nextBoolean());
        usrThree.setUsuLogin("testLoginThree " + new Random().nextInt());
        usrThree.setUsuNome("testNameThree " + new Random().nextInt());
        usrThree.setUsuPassword(usrOne.getUsuLogin());
    }
@Test
    public void testGetUser() throws Exception {
        System.out.println("getUser");
        EJBContainer container = null;
                
        try{
            container = javax.ejb.embeddable.EJBContainer.createEJBContainer();
        }catch(Exception e ){
            e.printStackTrace();
        }
        UsersService instance = (UsersService)container.getContext().lookup("java:global/classes/UsersService");
        
        usrOne      = instance.addUser(usrOne);
        usrTwo      = instance.addUser(usrTwo);
        usrThree    = instance.addUser(usrThree);
        
        Users expResult = usrTwo;
        Users result = instance.getUser(usrTwo.getUsuId());
        assertEquals(expResult, result);
        instance.removeUser(usrOne);
        instance.removeUser(usrTwo);
        instance.removeUser(usrThree);
        container.close();
    }

Ao executar, ele retorna um erro no GlassFish. Segue o erro:

getUser
jun 23, 2015 8:04:05 PM org.glassfish.ejb.embedded.DomainXmlTransformer transform
GRAVE: EJB6007:Temporary file could not be created: Invalid UTF-8 middle byte 0x6f (at char #31147, byte #27999)
javax.ejb.EJBException: Failed to create a temporary domain.xml file. Use log level FINE for more details.
at org.glassfish.ejb.embedded.EJBContainerProviderImpl.getLocations(EJBContainerProviderImpl.java:590)
at org.glassfish.ejb.embedded.EJBContainerProviderImpl.createEJBContainer(EJBContainerProviderImpl.java:127)
at javax.ejb.embeddable.EJBContainer.createEJBContainer(EJBContainer.java:127)
at javax.ejb.embeddable.EJBContainer.createEJBContainer(EJBContainer.java:102)
at br.com.devmedia.consultorioee.service.UsersServiceTest.testGetUser(UsersServiceTest.java:83)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:483)
at org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:45)
at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:15)
at org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:42)
at org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:20)
at org.junit.internal.runners.statements.RunBefores.evaluate(RunBefores.java:28)
at org.junit.internal.runners.statements.RunAfters.evaluate(RunAfters.java:30)
at org.junit.runners.ParentRunner.runLeaf(ParentRunner.java:263)
at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:68)
at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:47)
at org.junit.runners.ParentRunner$3.run(ParentRunner.java:231)
at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:60)
at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:229)
at org.junit.runners.ParentRunner.access$000(ParentRunner.java:50)
at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:222)
at org.junit.internal.runners.statements.RunBefores.evaluate(RunBefores.java:28)
at org.junit.internal.runners.statements.RunAfters.evaluate(RunAfters.java:30)
at org.junit.runners.ParentRunner.run(ParentRunner.java:300)
at junit.framework.JUnit4TestAdapter.run(JUnit4TestAdapter.java:39)
at org.apache.tools.ant.taskdefs.optional.junit.JUnitTestRunner.run(JUnitTestRunner.java:532)
at org.apache.tools.ant.taskdefs.optional.junit.JUnitTestRunner.launch(JUnitTestRunner.java:1179)
at org.apache.tools.ant.taskdefs.optional.junit.JUnitTestRunner.main(JUnitTestRunner.java:1030)

Criado 23 de junho de 2015
Respostas 0
Participantes 1