断言一个对象是一个特定的types

在JUnit中是否有可能断言一个对象是一个类的实例? 由于各种原因,我在我的testing中有一个对象,我想检查的types。 它是一种Object1还是一种Object2?

目前我有:

assertTrue(myObject instanceof Object1); assertTrue(myObject instanceof Object2); 

这工作,但我想知道是否有一个更具performance力的方式做到这一点。

比如像这样的东西:

 assertObjectIsClass(myObject, Object1); 

我可以这样做:

 assertEquals(myObject.class, Object1.getClass()); 

是否有一个特定的断言方法,允许我以更优雅,stream畅的方式testing一个对象的types?

你可以使用assertThat方法和JUnit附带的Matchers。

看看这个链接 ,介绍一下JUnit Matchers。

例:

 public class BaseClass { } public class SubClass extends BaseClass { } 

testing:

 import org.junit.Test; import static org.hamcrest.CoreMatchers.instanceOf; import static org.junit.Assert.assertThat; /** * @author maba, 2012-09-13 */ public class InstanceOfTest { @Test public void testInstanceOf() { SubClass subClass = new SubClass(); assertThat(subClass, instanceOf(BaseClass.class)); } }