我正在使用来自http://mockrunner.sourceforge.net/的mockrunner包来为JUnit设置一个模拟队列来测试XML过滤器,其运行方式如下:
我正在进行的JUnit测试只需要通过启动本地ftp和模拟队列服务器来连接到过滤器来模拟这个环境,然后等待过滤器连接到队列并将新的xml输入文件放在本地目录中通过本地ftp服务器,等待队列消息,然后稍微修改xml输入,将修改后的xml放入新目录,并将另一条消息发送到队列,表示作业已完成.
我在网上找到的所有教程都使用EJB和JNDI来查找队列服务器.如果可能的话,我想通过在我的本地机器上创建一个模拟队列并以最简单的方式连接到它来避开该路由,而不是使用EJB和JNDI.
提前致谢!
目前我正在使用TestNG框架来测试应用程序业务逻辑,最近我添加了一些Servlet类.
如何在TestNg框架中对这些Servlet类进行单元测试?
我在网上到处找。我几乎尝试了所有方法,从删除 STS 到从我的站中删除所有代码并重新导入所有内容。我玩过依赖项、构建路径、属性等,但仍然没有任何效果。
通过CLI在Maven上运行测试工作正常,其他团队成员没有这个问题,所以这可能是我站上的一些配置。
问题:
当我尝试使用 JUnit v. 4 在 STS 中调试/运行单元测试时,我收到以下堆栈跟踪错误:
java.lang.IllegalAccessError: class org.mockito.internal.creation.jmock.ClassImposterizer$1 cannot access its superclass org.mockito.internal.creation.cglib.MockitoNamingPolicy
at java.lang.ClassLoader.defineClass1(Native Method)
at java.lang.ClassLoader.defineClass(ClassLoader.java:763)
at java.security.SecureClassLoader.defineClass(SecureClassLoader.java:142)
at java.net.URLClassLoader.defineClass(URLClassLoader.java:467)
at java.net.URLClassLoader.access$100(URLClassLoader.java:73)
at java.net.URLClassLoader$1.run(URLClassLoader.java:368)
at java.net.URLClassLoader$1.run(URLClassLoader.java:362)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(URLClassLoader.java:361)
at java.lang.ClassLoader.loadClass(ClassLoader.java:424)
at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:331)
at java.lang.ClassLoader.loadClass(ClassLoader.java:357)
at org.mockito.internal.creation.jmock.ClassImposterizer.<clinit>(ClassImposterizer.java:38)
at org.mockito.internal.creation.CglibMockMaker.createMock(CglibMockMaker.java:23)
at org.powermock.api.mockito.internal.mockmaker.PowerMockMaker.createMock(PowerMockMaker.java:43)
at org.mockito.internal.util.MockUtil.createMock(MockUtil.java:33)
at org.mockito.internal.MockitoCore.mock(MockitoCore.java:59)
at org.mockito.Mockito.mock(Mockito.java:1285)
at org.mockito.internal.configuration.MockAnnotationProcessor.process(MockAnnotationProcessor.java:33)
at org.mockito.internal.configuration.MockAnnotationProcessor.process(MockAnnotationProcessor.java:16)
at org.mockito.internal.configuration.DefaultAnnotationEngine.createMockFor(DefaultAnnotationEngine.java:43)
at org.mockito.internal.configuration.DefaultAnnotationEngine.process(DefaultAnnotationEngine.java:66)
at org.mockito.internal.configuration.InjectingAnnotationEngine.processIndependentAnnotations(InjectingAnnotationEngine.java:71)
at org.mockito.internal.configuration.InjectingAnnotationEngine.process(InjectingAnnotationEngine.java:55)
at org.mockito.MockitoAnnotations.initMocks(MockitoAnnotations.java:108)
at org.mockito.internal.runners.JUnit45AndHigherRunnerImpl$1.withBefores(JUnit45AndHigherRunnerImpl.java:27)
at org.junit.runners.BlockJUnit4ClassRunner.methodBlock(BlockJUnit4ClassRunner.java:254)
at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:70)
at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:50) …Run Code Online (Sandbox Code Playgroud) 我想为由@JmsListener. 但我不知道该怎么做。任何人请帮助我。
mockrunner ×4
java ×2
jms ×2
ejb ×1
jndi ×1
junit ×1
mockito ×1
queue ×1
servlets ×1
spring-jms ×1
testng ×1
unit-testing ×1