상황 내가 찾은 xUnit의의 GitHub의에서XUnit 설명 어설 션 메시지를 구현하는 방법은 무엇입니까?
이 :
우리는 다음과 같습니다 Add Assert.Equal(expected, actual, message) overload #350가 대답에서
견적 (그래서 개발자는 아래를 참조 아닌 기존의 과부하를 요청) 자기 기록 코드를 신봉하는 자; 당신의 단언을 포함합니다.
는
OK, 나는 그것을 가지고 (그래서 xUnit의 팀은 그것을 거부). 나는 또한 자기 기록 코드를 믿는다. 그럼에도 불구하고 나는 이 사용 사례 찾을 수 없습니다 :
샘플을
// Arrange
// Create some external soap service client and its wrapper classes
// Act
// client.SomeMethod();
// Assert
// Sorry, soap service's interface, behaviour and design is *given*
// So I have to check if there is no Error, and
// conveniently if there is, then I would like to see it in the assertion message
Assert.Equal(0, client.ErrorMessage.Length); // Means no error
// I would like to have the same result what would be the following *N*U*n*i*t* assert:
// Assert.AreEqual(0, client.ErrorMessage.Length, client.ErrorMessage); // Means no error
질문 나는 아직도 그런이 없습니다 xUnit의이 경우에 설명 어설 션 메시지를 구현할 수있는 방법
과부하?
문제가 무엇인지 명확하지 않습니다. 왜 당신이 코멘트에서 지적한대로'Assert.AreEqual (0, client.ErrorMessage.Length, client.ErrorMessage); '를 사용하고 있지 않습니까? – Kritner
XUnit에는 이러한 과부하가 없습니다. NUnit 호출입니다. XUnit 팀은 인용문 "우리는 자체 문서화 코드를 믿는 사람이며 주장이 포함되어 있습니다"를 이유로 개발자에게 과부하가 있는지 묻습니다. –
@ g.pickardou, 제안을 사용하지 않는 이유는 무엇입니까? 링크에서 제공됩니다. 유창한 주장처럼 또는 메시지 오버로드가 남아있는'Assert.True 또는 Assert.False'를 감싸는 자신 만의 주장을 만드십시오. 더 이상 언급하지 않았습니다. Assert.True와 .False에 메시지를 제공 할 수 있습니다.단순히 메시지없이 살 수 없다면 (다른 주장을 사용하는 것을 거부하면) 항상 다음으로 넘어갈 수 있습니다. Assert.True (숫자 == 2, "This is my message"); ' – Nkosi