为什么要扩展JerseyTest vs扩展TestCase导致没有测试被发现

问题描述:

我正试图让Jersey测试框架工作。我们正在使用maven 1.x构建。我创建了以下测试用例...为什么要扩展JerseyTest vs扩展TestCase导致没有测试被发现

public class SomeResourceTest extends JerseyTest 
{ 
    public SomeResourceTest() throws Exception 
    { 
     super(new WebAppDescriptor.Builder(PACKAGE_NAME) 
         .contextPath(PATH).build()); 
    }  
    @Test 
    public void testSomething() 
    { 
     Assert.assertEquals(true, true); 
    } 
} 

当我建,我没有得到任何的SomeResourceTest发现测试。

现在,当我将测试用例更改为junit.framework.TestCase时,测试运行得很好。

任何线索可能导致问题的原因是什么? JerseyTest应该延伸TestCase,所以我假设它是一些其他配置问题。

+0

也许你需要Maven的“JerseyTest”插件? – 2010-07-29 21:19:50

+0

您可能希望将junit标签添加到此问题中,以便更多测试人员可以看到它。 – 2010-07-29 22:57:55

任何线索可能导致问题的原因是什么? JerseyTest应该扩展TestCase(...)

泽西岛测试框架是build over JUnit 4.x所以,不,它不。

运行与Maven的1.x的JUnit 4.x的测试,你必须:

  • 您关联

  • 使用添加JUnit4TestAdapter中4.X的Junit在你的测试类:

    /** 
    * @return instance of this as Junit test case 
    */ 
    public static junit.framework.Test suite() 
    { 
        return new JUnit4TestAdapter(MyTestClass.class); 
    } 
    
  • 使用JDK 5+

请参阅http://jira.codehaus.org/browse/MPTEST-65

+0

这工作,随着我的泽西瓶最新的。我认为我有一些Junit 3.x和Jersey Jersey集合。谢谢! – 2010-07-30 14:47:11

您使用的是什么版本的JerseyTest?最新版本依赖于JUnit 4,不扩展TestCase。

此外,您的测试有点混乱。它有@Test,暗示你正在使用JUnit 4,不应该扩展TestCase。但听起来您仍然依赖于JUnit 3.8中的testXXX和TestCase子类惯例。