2015-05-15 39 views
0

我想用Eclipse的TestNG运行一个单元测试(在单元测试 - 右键单击​​TestNg Test运行)。在初始阶段,测试立即失败。我认为这与testng相关的是加载两个不同的数据源,但我不知道如何解决这个问题。这是堆栈跟踪:java.lang.IllegalStateException:已经安装InitialContextProperties

May 15, 2015 11:52:32 AM org.jboss.seam.microcontainer.TransactionManagerFactory getTransactionManager 
INFO: starting JTA transaction manager 
May 15, 2015 11:52:32 AM org.jboss.seam.microcontainer.DataSourceFactory getDataSource 
INFO: starting Datasource at JNDI name: java:/datasource1 
May 15, 2015 11:52:32 AM org.jboss.seam.microcontainer.DataSourceFactory getDataSource 
INFO: starting Datasource at JNDI name: java:/DefaultDS 
FAILED CONFIGURATION: @BeforeClass init 
java.lang.RuntimeException: java.lang.IllegalStateException: Already installed InitialContextProperties 
at com.pinncorp.mock.SeamTest.startJbossEmbeddedIfNecessary(SeamTest.java:223) 
at org.jboss.seam.mock.AbstractSeamTest.startSeam(AbstractSeamTest.java:915) 
at com.pinncorp.mock.SeamTest.init(SeamTest.java:133) 
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) 
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39) 
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) 
at java.lang.reflect.Method.invoke(Method.java:597) 
at org.testng.internal.MethodInvocationHelper.invokeMethod(MethodInvocationHelper.java:84) 
at org.testng.internal.Invoker.invokeConfigurationMethod(Invoker.java:564) 
at org.testng.internal.Invoker.invokeConfigurations(Invoker.java:213) 
at org.testng.internal.Invoker.invokeConfigurations(Invoker.java:138) 
at org.testng.internal.TestMethodWorker.invokeBeforeClassMethods(TestMethodWorker.java:175) 
at org.testng.internal.TestMethodWorker.run(TestMethodWorker.java:107) 
at org.testng.TestRunner.privateRun(TestRunner.java:767) 
at org.testng.TestRunner.run(TestRunner.java:617) 
at org.testng.SuiteRunner.runTest(SuiteRunner.java:334) 
at org.testng.SuiteRunner.runSequentially(SuiteRunner.java:329) 
at org.testng.SuiteRunner.privateRun(SuiteRunner.java:291) 
at org.testng.SuiteRunner.run(SuiteRunner.java:240) 
at org.testng.SuiteRunnerWorker.runSuite(SuiteRunnerWorker.java:52) 
at org.testng.SuiteRunnerWorker.run(SuiteRunnerWorker.java:86) 
at org.testng.TestNG.runSuitesSequentially(TestNG.java:1224) 
at org.testng.TestNG.runSuitesLocally(TestNG.java:1149) 
at org.testng.TestNG.run(TestNG.java:1057) 
at org.testng.remote.RemoteTestNG.run(RemoteTestNG.java:111) 
at org.testng.remote.RemoteTestNG.initAndRun(RemoteTestNG.java:204) 
at org.testng.remote.RemoteTestNG.main(RemoteTestNG.java:17 

在此先感谢...

+0

尝试在@BeforeClass方法的第一个句子中设置一个断点,然后引发一个新的调试会话,操作如下:鼠标右键 - >调试为 - >测试NG并查看每个句子如何执行F5 - >进入/ F6 - >前进)。这会告诉你关于到底发生了什么的线索。 –

+0

我会尝试。我需要找到你提到的注释方法在哪里。我没有在我正在上课的课上。 – Nicolasllk

回答

1

我建议请清除所有的构建路径和TestNG库,清理项目,并重新开始,这肯定会工作。如果不是在不同的工作区完全尝试它。

+0

我做了类似的事情,问题解决了。我做了一个新的安装eclipse + testng并重新加载我的proyect。现在按预期工作。 – Nicolasllk

相关问题