Func
의 항등 비교는 어떻게 작동합니까? 나는이 단위 테스트에 내 문제의 복잡성을 감소 :함수 NUnit 항등 비교
[Test]
public void Will_Pass()
{
Func<string> func =() => "key";
Assert.That(func, Is.EqualTo(func));
}
[Test]
public void Will_Fail()
{
Func<string> funcA =() => "key";
Func<string> funcB =() => "key";
Assert.That(funcA, Is.EqualTo(funcB));
}
나는 테스트해야 - 주장 성공적으로 - Func
의 인스턴스가 다른 인스턴스와 동일한 것이다. 따라서 기본적으로 Failing 테스트를 통과하는 방법이 필요합니다.
사용자 지정 유형을 만들고 Equals()
을 무시하지 않고이 작업을 수행 할 수있는 방법이 있습니까?
아마도 'Func'대신 표현식 트리를 사용하면 더 쉬울 것입니다. –
Oded
[ExpressionEqualityComparer.cs] (https://source.db4o.com/db4o/trunk/db4o.net/Db4objects.Db4o.Linq/Db4objects.Db4o.Linq/Expressions/)를 참조하십시오. –
@ L.B thanks; 표현 방식에는 가치가 있지만 John이 권장하는대로 테스트 결과를 테스트 할 것입니다. – Nick