2012-03-21 97 views
0

我试图从JUnit 3运行器运行JUnit 4测试。我试过了我能找到的所有东西,但仍然无法运行。我得到的最新的错误是这样的:试图从RAD 7.5运行JUnit 4.10测试获取异常

Exception in thread "main" java.lang.ClassCastException: junit.framework.JUnit4TestAdapter incompatible with junit.framework.TestCase 

这是我的代码如下所示:

package com.bcbst.junittest; 

import junit.framework.JUnit4TestAdapter; 
import junit.framework.Test; 
import junit.framework.TestSuite; 

import org.junit.runner.RunWith; 
import org.junit.runners.Suite; 
import org.junit.runners.Suite.SuiteClasses; 

@RunWith(Suite.class) 
@SuiteClasses({JUnitTestCase.class}) 

public class AllTests { 

    public static Test suite() { 
     return new JUnit4TestAdapter(JUnitTestCase.class); 
    } 

} 

我使用RAD 7.5.5.3。

有没有办法改变RAD使用JUnit 4而不是JUnit 3?我坚持使用我现在拥有的RAD版本。 JUnit 4 jar放在我的classpath中,它是第一个入口。但它使用与RAD封装的runner,看起来它使用的是JUnit 3.2。

+0

您可以发布完整的堆栈跟踪吗?你能告诉我们你是如何运行测试的,通过Eclipse maven,无论是什么和涉及的版本。你能告诉我们,如果JUnitTestCase被定义为JUnit 3测试或4测试吗?它看起来像是一个JUnit 3测试。对于JUnit 4套件,您也不需要定义suite()方法。 – 2012-03-22 14:51:52

回答

0

检查了这一点,看看解决方法可以帮助你

http://www-01.ibm.com/support/docview.wss?uid=swg21363984

HTH

Manglu

+0

这不正是他所拥有的? – 2012-03-22 14:47:25

+0

@Matthew,我没有RAD 7.5,但技术说明了这个问题的解决方法。我是否错误地阅读了技术说明? – Manglu 2012-03-24 07:14:34

+0

是的,但阅读你发布的解决方案似乎是他已经拥有的 – 2012-03-24 09:16:52