У меня есть следующий тест
[Test]
public void Attack_TargetWith3Damage_CausesAttackerToDeal3DamageToTarget()
{
var realAttacker = CreateCreature(damage: 3);
var wrappedAttacker = A.Fake<ICreature>(x => x.Wrapping(realAttacker));
var target = A.Fake<ICreature>();
wrappedAttacker.Attack(target);
A.CallTo(() => wrappedAttacker.DealDamage(target, 3)).MustHaveHappened();
}
Проблема в том, что вызов DealDamage
из метода Attack
не регистрируется , поскольку внутри метода this
является realAttacker
не wrappedAttacker
злоумышленником, следовательно, вызов метода не перехватывается.
Как я могу проверить это утверждение? Можно ли это сделать с помощью FakeItEasy? Позволяет ли мне проверить это с помощью другой среды фиксации?