JUnit 中是否可以断言对象是类的实例?由于各种原因,我在测试中有一个对象,我想检查其类型。它是 Object1 的类型还是 Object2 的类型?
目前我有:
assertTrue(myObject instanceof Object1);
assertTrue(myObject instanceof Object2);
这可行,但我想知道是否有更具表现力的方法来做到这一点。
例如:
assertObjectIsClass(myObject, Object1);
我可以这样做:
assertEquals(Object1.class, myObject.getClass());
是否有一个特定的断言方法可以让我以更优雅、更流畅的方式测试对象的类型?
您可以使用assertThat
方法和 JUnit 附带的 Matchers。
看一眼这个链接 http://tutorials.jenkov.com/java-unit-testing/matchers.html它描述了一些关于 JUnit 匹配器的信息。
Example:
public class BaseClass {
}
public class SubClass extends BaseClass {
}
Test:
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));
}
}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)