gpt4 book ai didi

unit-testing - Spock 数据驱动测试,使用类来测试 "instanceof"断言

转载 作者:行者123 更新时间:2023-12-04 04:19:06 26 4
gpt4 key购买 nike

我有一个测试,我想测试一个特定的结果是否属于一类。
用 instanceof 关键字断言它。遗憾的是,我没有弄清楚如何实际提供数据值 预期等级 在数据表中没有实际使用 instanceof 调用它的问题。我认为关键字 instanceof 是这里的问题,因为它只接受类/接口(interface)名称。知道如何以另一种方式测试我想要测试的内容吗?

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

}
}

最佳答案

正如 tim_yates 所说,您可以使用 groovy 函数 isCase或 java 函数 isAssignableFrom , 或者你可以使用 groovy in关键字(委托(delegate)给 isCase )。

  • expectedClass.isCase(battleResolver)
  • expectedClass.isAssignableFrom(battleResolver)
  • expectedClass in battleResolver
  • 关于unit-testing - Spock 数据驱动测试,使用类来测试 "instanceof"断言,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44740017/

    26 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com