Nunit: μ œμ•½ 쑰건이 μžˆλŠ” 개체 μœ ν˜•μ„ ν…ŒμŠ€νŠΈν•  수 μ—†μŠ΅λ‹ˆλ‹€.

에 λ§Œλ“  2018λ…„ 01μ›” 08일  Β·  4μ½”λ©˜νŠΈ  Β·  좜처: nunit/nunit

μ•ˆλ…•ν•˜μ„Έμš”, μ œμ•½ 쑰건이 μžˆλŠ” 개체 μœ ν˜•μ„ ν…ŒμŠ€νŠΈν•  수 μ—†μ§€λ§Œ ν΄λž˜μ‹ μ–΄μ„€μ…˜μ€ μ—¬μ „νžˆ β€‹β€‹μž‘λ™ν•©λ‹ˆλ‹€.

enum TestEnum : ushort
{
    one = 0x01,
    two = 0x02
}

// test is okay
Assert.AreEqual(typeof(ushort), typeof(TestEnum).GetEnumUnderlyingType());

// test failed
//
// Expected: <System.Uint16>
//  But was: <System.RuntimeType>
//
Assert.That(typeof(TestEnum).GetEnumUnderlyingType(), Is.TypeOf<ushort>());
notabug

κ°€μž₯ μœ μš©ν•œ λŒ“κΈ€

μ•ˆλ…•ν•˜μ„Έμš” @TobiasSekanμž…λ‹ˆλ‹€. λ‚˜λŠ” 이것이 μ˜ˆμƒλœλ‹€κ³  λ§ν•˜κ³  μ‹ΆμŠ΅λ‹ˆλ‹€. 고전적인 μ£Όμž₯μ—μ„œ 당신은 단지 두 가지 μœ ν˜•μ„ λΉ„κ΅ν•˜κ³  μžˆμŠ΅λ‹ˆλ‹€. μ œμ•½ 쑰건 "_tests μ‹€μ œ 값이 인수둜 제곡된 μœ ν˜•μΈμ§€ νŒŒμƒλœ μœ ν˜•μΈμ§€ μ—¬λΆ€λ₯Ό ν…ŒμŠ€νŠΈν•©λ‹ˆλ‹€._" κ°’ typeof(TestEnum).GetEnumUnderlyingType() 은 System.RuntimeType μž…λ‹ˆλ‹€.

μœ μ‚¬ν•œ λ‹€μŒλ„ μ‹€νŒ¨ν•©λ‹ˆλ‹€(같은 μ’…λ₯˜μ˜ λ©”μ‹œμ§€ 포함).

Assert.That(typeof(string), Is.TypeOf<string>());

반면

Assert.That("", Is.TypeOf<string>());

μž‘λ™ ν•  것이닀. μ œμ•½ 쑰건을 항상 Assert.That(typeof(TestEnum).GetEnumUnderlyingType(), Is.EqualTo(typeof(ushort))); 둜 λ°”κΏ€ 수 μžˆμŠ΅λ‹ˆλ‹€.

λͺ¨λ“  4 λŒ“κΈ€

μ–΄λ–€ ν”Œλž«νΌκ³Ό μ–΄λ–€ nunit 버전을 λΆ€νƒν•©λ‹ˆκΉŒ?

μ•ˆλ…•ν•˜μ„Έμš” @TobiasSekanμž…λ‹ˆλ‹€. λ‚˜λŠ” 이것이 μ˜ˆμƒλœλ‹€κ³  λ§ν•˜κ³  μ‹ΆμŠ΅λ‹ˆλ‹€. 고전적인 μ£Όμž₯μ—μ„œ 당신은 단지 두 가지 μœ ν˜•μ„ λΉ„κ΅ν•˜κ³  μžˆμŠ΅λ‹ˆλ‹€. μ œμ•½ 쑰건 "_tests μ‹€μ œ 값이 인수둜 제곡된 μœ ν˜•μΈμ§€ νŒŒμƒλœ μœ ν˜•μΈμ§€ μ—¬λΆ€λ₯Ό ν…ŒμŠ€νŠΈν•©λ‹ˆλ‹€._" κ°’ typeof(TestEnum).GetEnumUnderlyingType() 은 System.RuntimeType μž…λ‹ˆλ‹€.

μœ μ‚¬ν•œ λ‹€μŒλ„ μ‹€νŒ¨ν•©λ‹ˆλ‹€(같은 μ’…λ₯˜μ˜ λ©”μ‹œμ§€ 포함).

Assert.That(typeof(string), Is.TypeOf<string>());

반면

Assert.That("", Is.TypeOf<string>());

μž‘λ™ ν•  것이닀. μ œμ•½ 쑰건을 항상 Assert.That(typeof(TestEnum).GetEnumUnderlyingType(), Is.EqualTo(typeof(ushort))); 둜 λ°”κΏ€ 수 μžˆμŠ΅λ‹ˆλ‹€.

쒋은 캐치 @mikkelbu. not a bug 둜 λ‹«κ² μŠ΅λ‹ˆλ‹€. @TobiasSekan ν˜Όλž€μ„ λ³Ό 수 μžˆμ§€λ§Œ μ‹€μ œλ‘œ 첫 번째 맀개 λ³€μˆ˜λŠ” TypeOf<Type> μ•„λ‹ˆλΌ ushort μž…λ‹ˆλ‹€.

κ·Έλ ‡κ΅°μš” 정보 κ°μ‚¬ν•©λ‹ˆλ‹€

이 νŽ˜μ΄μ§€κ°€ 도움이 λ˜μ—ˆλ‚˜μš”?
0 / 5 - 0 λ“±κΈ‰