特定の結果をクラスの一種であるとテストするテストがあります。 instanceofキーワードでこれをアサインします。残念ながら私は実際にデータ値を提供する方法を理解していませんでしたexpectedClassデータテーブルに問題がなく、実際にinstanceofと呼ぶことはありません。私はキーワードinstanceofはクラス/インターフェイス名しか受け付けないのでここでは問題だと思います。どのように私は私が別の方法でテストしたいものをテストすることができますか?"instanceof"アサーションをテストするためのクラスによるSpockデータ駆動型テスト
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
}
}
クール感謝!それを聞いたことはありません! – xetra11