2017-03-14 91 views
1

我得到的運行從那些需要我的應用程序的JUnit AllTests中(TestSuite的),它包含了所有的測試(UTests.java)我所有的測試中的TestRunner類...如何將Deployable容器添加到我的類路徑中?

public class TestRunner { 

public static void main(String[] args) { 
     Result result = JUnitCore.runClasses(AllTests.class); 

     for (Failure failure : result.getFailures()) { 
     System.out.println(failure.toString()); 
     } 

     System.out.println(result.wasSuccessful()); 
    } 
} 


@RunWith(Suite.class) 
@SuiteClasses({ UTests.class }) 
public class AllTests { 

} 

@Test public void testAddStudent() { 
StudentBean sb = new StudentBean(); 
Student s1 = new Student(4, "Ognjen", "Car"); 
System.out.println(s1.toString()); 

Boolean s = sb.addStudent(s1); 
System.out.println(s1); 

assert (s == true); 
// fail("Not yet implemented"); 
} 

StudentBean.java

@PersistenceContext 
EntityManager em; 

@Override 
public Boolean addStudent(Student s) { 
try{ 
    Student s1 = new Student(10,"asd", "asd"); //for testing...later I ll delete it 
    em.persist(s); 
    em.flush(); 

} catch (Exception ex) { 
    ex.printStackTrace(); 
} 

    return true; 
} 

一旦我運行的TestRunner類中,有2個錯誤,這似乎是一個....

1日在控制檯:

test.UTests: DeploymentScenario contains a target (_DEFAULT_) not matching any defined Container in the registry. 
Please include at least 1 Deployable Container on your Classpath. 

2日JUnit的控制檯:

org.jboss.arquillian.container.test.impl.client.deployment.ValidationException: DeploymentScenario contains a target (_DEFAULT_) not matching any defined Container in the registry. 
Please include at least 1 Deployable Container on your Classpath. 
at org.jboss.arquillian.container.test.impl.client.deployment.DeploymentGenerator.throwNoContainerFound(DeploymentGenerator.java:250) 
at org.jboss.arquillian.container.test.impl.client.deployment.DeploymentGenerator.throwTargetNotFoundValidationException(DeploymentGenerator.java:243) 
at org.jboss.arquillian.container.test.impl.client.deployment.DeploymentGenerator.validate(DeploymentGenerator.java:102) 
at org.jboss.arquillian.container.test.impl.client.deployment.DeploymentGenerator.generateDeployment(DeploymentGenerator.java:84) 
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) 
at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source) 
at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source) 
at java.lang.reflect.Method.invoke(Unknown Source) 
at org.jboss.arquillian.core.impl.ObserverImpl.invoke(ObserverImpl.java:96) 
at org.jboss.arquillian.core.impl.EventContextImpl.invokeObservers(EventContextImpl.java:99) 
at org.jboss.arquillian.core.impl.EventContextImpl.proceed(EventContextImpl.java:81) 
at org.jboss.arquillian.core.impl.ManagerImpl.fire(ManagerImpl.java:145) 
at org.jboss.arquillian.core.impl.ManagerImpl.fire(ManagerImpl.java:116) 
at org.jboss.arquillian.core.impl.EventImpl.fire(EventImpl.java:67) 
at org.jboss.arquillian.container.test.impl.client.ContainerEventController.execute(ContainerEventController.java:100) 
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) 
at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source) 
at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source) 
at java.lang.reflect.Method.invoke(Unknown Source) 
at org.jboss.arquillian.core.impl.ObserverImpl.invoke(ObserverImpl.java:96) 
at org.jboss.arquillian.core.impl.EventContextImpl.invokeObservers(EventContextImpl.java:99) 
at org.jboss.arquillian.core.impl.EventContextImpl.proceed(EventContextImpl.java:81) 
at org.jboss.arquillian.test.impl.TestContextHandler.createClassContext(TestContextHandler.java:92) 
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) 
at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source) 
at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source) 
at java.lang.reflect.Method.invoke(Unknown Source) 
at org.jboss.arquillian.core.impl.ObserverImpl.invoke(ObserverImpl.java:96) 
at org.jboss.arquillian.core.impl.EventContextImpl.proceed(EventContextImpl.java:88) 
at org.jboss.arquillian.test.impl.TestContextHandler.createSuiteContext(TestContextHandler.java:73) 
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) 
at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source) 
at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source) 
at java.lang.reflect.Method.invoke(Unknown Source) 
at org.jboss.arquillian.core.impl.ObserverImpl.invoke(ObserverImpl.java:96) 
at org.jboss.arquillian.core.impl.EventContextImpl.proceed(EventContextImpl.java:88) 
at org.jboss.arquillian.core.impl.ManagerImpl.fire(ManagerImpl.java:145) 
at org.jboss.arquillian.core.impl.ManagerImpl.fire(ManagerImpl.java:116) 
at org.jboss.arquillian.test.impl.EventTestRunnerAdaptor.beforeClass(EventTestRunnerAdaptor.java:87) 
at org.jboss.arquillian.junit.Arquillian$2.evaluate(Arquillian.java:202) 
at org.jboss.arquillian.junit.Arquillian.multiExecute(Arquillian.java:431) 
at org.jboss.arquillian.junit.Arquillian.access$200(Arquillian.java:55) 
at org.jboss.arquillian.junit.Arquillian$3.evaluate(Arquillian.java:219) 
at org.junit.runners.ParentRunner.run(ParentRunner.java:363) 
at org.jboss.arquillian.junit.Arquillian.run(Arquillian.java:167) 
at org.eclipse.jdt.internal.junit4.runner.JUnit4TestReference.run(JUnit4TestReference.java:86) 
at org.eclipse.jdt.internal.junit.runner.TestExecution.run(TestExecution.java:38) 
at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:459) 
at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:678) 
at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.run(RemoteTestRunner.java:382) 
at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.main(RemoteTestRunner.java:192) 

錯誤是要求一個可展開的容器添加到我的類路徑中,我不知道該怎麼辦呢?

你能幫我嗎?

回答

0

你必須在你的pom中添加一些依賴項。它看起來像:

<dependency> 
    <groupId>org.jboss.arquillian.container</groupId> 
    <artifactId>arquillian-weld-ee-embedded-1.1</artifactId> 
    <version>1.0.0.CR9</version> 
    <scope>test</scope> 
</dependency> 
<dependency> 
    <groupId>org.jboss.weld</groupId> 
    <artifactId>weld-core</artifactId> 
    <version>2.3.5.Final</version> 
    <scope>test</scope> 
</dependency> 
<dependency> 
    <groupId>org.slf4j</groupId> 
    <artifactId>slf4j-simple</artifactId> 
    <version>1.6.4</version> 
    <scope>test</scope> 
</dependency> 

來源:http://arquillian.org/guides/getting_started_pt/

相關問題