【发布时间】:2017-06-24 19:09:42
【问题描述】:
我有一个测试,我想测试一个特定的结果是否属于一类。 使用 instanceof 关键字声明这一点。遗憾的是,我没有弄清楚如何在数据表中实际提供数据值expectedClass,而实际上用instanceof 调用它时遇到问题。我认为关键字 instanceof 是这里的问题,因为它只接受类/接口名称。知道如何以另一种方式测试我想要测试的内容吗?
class BattleResolverFactoryTest extends Specification {
def uut = new BattleResolverFactory()
@Unroll
def "should return proper BattleResolver for given ConflictType"(Conflict.ConflictType conflictType, Class<? extends BattleResolver> expectedInstance) {
when:
def battleResolver = BattleResolverFactory.getResolver(conflictType)
then:
battleResolver instanceof expectedClass
where:
conflictType | expectedClass
Conflict.ConflictType.INFANTRY_CONFLICT | TestInfantryResolver
Conflict.ConflictType.ARMOR_CONFLICT | TestArmorResolver
}
}
【问题讨论】:
标签: unit-testing groovy spock