Ric*_*wig 7 eclipse junit maven maven-failsafe-plugin
我为JUnit编写了一个简单的RunListener,它可以很好地与Maven一起使用.我可以通过maven-failsafe-plugin注册它
<properties>
<property>
<name>listener</name>
<value>com.asml.lcp.middleware.common.jboss.test.tps.TestDocumentationListener</value>
</property>
</properties>
Run Code Online (Sandbox Code Playgroud)
并从监听器中查看正确的输出.
现在我想在Eclipse中注册相同的RunListener,以便在运行测试时看到相同的输出.
这可能吗?出于测试目的并保持一致,最好具有相同的输出.
对的,这是可能的。基本上,您必须实现自己的 Runner,并且在 run 方法内,您可以添加自定义运行侦听器。我根据这篇文章的第2点弄清楚了这一点。
这是我的听众
public class TestLogger extends RunListener
{
public void testFinished(Description description)
{
System.out.println("Successful " + description.getMethodName());
}
}
Run Code Online (Sandbox Code Playgroud)
这是我的跑步者
public class TestRunner extends BlockJUnit4ClassRunner
{
public TestRunner(Class<?> klass) throws InitializationError
{
super(klass);
}
@Override
public void run(RunNotifier notifier)
{
notifier.addListener(new TestLogger()); // THIS IS THE IMPORTANT LINE
super.run(notifier);
}
}
Run Code Online (Sandbox Code Playgroud)
这是我实际的junit测试
@RunWith(TestRunner.class) // THIS LINE IS ALSO IMPORTANT
public class MyTest1
{
@Test
public void Test1() throws Exception
{
if (Math.random() < .5) throw new Exception("ouch");
assertFalse(Math.random() < .5);
}
}
Run Code Online (Sandbox Code Playgroud)
您可以使用 Eclipse 中的上下文菜单运行 MyTest1 或 Test1 方法,它将按照您的预期调用 testLogger。
| 归档时间: |
|
| 查看次数: |
2351 次 |
| 最近记录: |