내 코드를 테스트하려고합니다. Hibernate의 Criteria와 함께 동작하는 모듈의 기능을 테스트 할 필요가있다. 예를 들어 여기에 내 단위 테스트 중 하나가 있습니다. 그것은 SimpleExpression를 반환하고 나는 expression.PropertyName 및 expression.Value를 확인할 수 있기 때문에 NHibernate의 제한을 테스트하려면 어떻게해야합니까?
[Fact]
public void test_name()
{
var criteria = ... // creates mock criteria
MyModule.DoWork(criteria); // adds restrictions to criteria
Assert.True(/* check if criteria.Add() was called
and what arguments were passed */);
}
MyModule.DoWork()가 Restrictions.Eq을 (추가하는 경우
)는, 아무런 문제가 없습니다. 그러나 대신 Restrictions.Not (Restrictions.Eq()) (AbstractCriterion을 반환 함)를 추가하면 PropertyName 및 Value를 확인할 방법이 없습니다.그런 경우 어떻게해야합니까? 제한에 대한 테스트 방법. 그렇지 않습니까?