为什么扩展 JerseyTest 与扩展 TestCase 会导致找不到测试
我正在尝试让 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 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
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。
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:
Use a JDK 5+
See http://jira.codehaus.org/browse/MPTEST-65.
您使用的是哪个版本的 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.