다음 테스트를 실행하면 모든 어설 션이 실패합니다. 실제 구현에는 객체에 대한 호출이 있기 때문에 실패한 이유를 파악할 수 없습니다.FakeItEasy 개체에서이 MustHaveHappened 호출이 MSpec에서 실패하는 이유는 무엇입니까?
알려진 버그입니까? 다른 테스트가 성공하기 때문입니다. 적어도 한 번 이상 찾을 것으로 예상 Outlook.Contracts.IOutlookFolderParameters.get_NotificationsFolder을()하지만 호출은 가짜 객체에 이루어지지했다 :
[Subject("Pst Cleanup")]
public class When_running_Pst_CleanUp
{
Establish context =() =>
{
_folders = A.Fake<IOutlookFolderParameters>();
_processor = A.Fake<IOutlookPstCleaner>();
};
Because of =() => _processor.Cleanup(_folders);
It should_cleanup_the_mail_folder =() => A.CallTo(() => _folders.EmailFolder).MustHaveHappened();
It should_cleanup_tasks_folder =() => A.CallTo(() => _folders.TaskFolder).MustHaveHappened();
It should_cleanup_appointments_folder =() => A.CallTo(() => _folders.AppointmentFolder).MustHaveHappened();
private static IOutlookPstCleaner _processor;
private static IOutlookFolderParameters _folders;
}
어설 다음 호출에 실패했습니다.
FakeItEasy.Core.FakeAsserter.AssertWasCalled에서 (Func을
2 callPredicate, String callDescription, Func
2 repeatPredicate 문자열 repeatDescription)에서 FakeItEasy.Configuration.RuleBuilder.MustHaveHappened (repeatConstraint 반복)에서 UnitTests.When_running_Pst_CleanUp. When_running_Pst_CleanUp.cs에 < .ctor> b__2는() : 라인 (19)
오류가 있습니까? – Jocke
테스트 결과를 추가했습니다. –
오류와 일치하는 어설 션이 실제로 표시되지 않습니다. 'get_NotificationsFolder()'(자동 속성이나 뭔가를 위해 생성 된 메소드처럼 보입니다)를 호출 할 것으로 기대가 없습니다. 왜 getter가 호출되는지 테스트하고 있습니까? 그게 네 행동을 제대로 고정시킬 수는 없어. '_processor' _do_는 당신이 대신 주장 할 수있는 폴더들에 대해 무엇을합니까? –