많은 양의 텍스트를 생성하는 코드 조각에 대한 단위 테스트를 작성하려고합니다. "expected"및 "actual"문자열이 같지만 Assert.AreEqual이 발생하고 같음 연산자 및 Equals()
이 모두 false를 반환하는 문제가 발생했습니다. GetHashCode()
의 결과는 두 값에서 모두 다릅니다.C# 문자열 항등 연산자는 false를 반환하지만 사실이어야한다고 확신합니다 ... 뭐라고 요?
그러나 두 문자열을 모두 텍스트 파일에 넣고 DiffMerge와 비교해 보면 두 문자열이 동일하다는 것을 알 수 있습니다.
또한 Encoding.ASCII.GetBytes()
을 두 값에 사용하고 SequenceEquals
을 사용하여 결과 바이트 배열을 비교하면 true를 반환합니다.
값은 각각 34KB이므로 지금 여기에 넣지 않을 것입니다. 어떤 아이디어? 나는 완전히 비틀 거린다.
'Encoding.Unicode.GetBytes()'를 시도해보십시오 - 동일한 동작입니까? –
string.Equals (yourstring, StringComparison.InvariantCulture)는 무엇을 반환합니까? –
단위 테스트 만 게시 할 수 있습니까? –