为什么扩展 JerseyTest 与扩展 TestCase 会导致找不到测试

发布于 2024-09-12 05:35:43 字数 606 浏览 7 评论 0原文

我正在尝试让 Jersey 测试框架正常工作。我们正在使用 Maven 1.x 进行构建。我创建了以下测试用例...

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,所以我假设它是其他一些配置问题。

I am attempting to get the Jersey test framework working. We are building using maven 1.x. I've created the following 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);
    }
}

When I build, I get no tests found in SomeResourceTest.

Now, when I change the testcase to extend junit.framework.TestCase, the test runs just fine.

Any clue what might be causing the problem? JerseyTest is supposed to extend TestCase, so I am assuming it to be some other configuration problem.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

Spring初心 2024-09-19 05:35:44

有什么线索可能导致这个问题吗? JerseyTest 应该扩展 TestCase (...)

Jersey 测试框架 基于 JUnit 4.x 构建 所以,不,事实并非如此。

要使用 Maven 1.x 运行 JUnit 4.x 测试,您必须:

  • 在依赖项中添加 Junit 4.X

  • 在您的依赖项中使用 JUnit4TestAdapter测试类:

    <前><代码>/**
    * @return 将此实例作为 Junit 测试用例
    */
    公共静态junit.framework.测试套件()
    {
    返回新的 JUnit4TestAdapter(MyTestClass.class);
    }

  • 使用 JDK 5+

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

Any clue what might be causing the problem? JerseyTest is supposed to extend TestCase (...)

The Jersey Test Framework is build over JUnit 4.x so, no, it doesn't.

To run JUnit 4.x tests with Maven 1.x, you'll have to:

  • Add Junit 4.X in your dependencies

  • Use the JUnit4TestAdapter in your test classes:

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

See http://jira.codehaus.org/browse/MPTEST-65.

不及他 2024-09-19 05:35:44

您使用的是哪个版本的 JerseyTest?最新版本依赖于JUnit 4并且不扩展TestCase。

另外,你的测试有点令人困惑。它有@Test,这意味着您正在使用JUnit 4并且不应扩展TestCase。但听起来您的描述中仍然依赖 JUnit 3.8 中的 testXXX 和 TestCase 子类约定。

What version of JerseyTest are you using? The latest version relies on JUnit 4 and does not extend TestCase.

Also, your test is a bit confusing. It has @Test which implies you are using JUnit 4 and shouldn't extend TestCase. But it sounds like you are still relying on the testXXX and TestCase subclass convention from JUnit 3.8 in your description.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文