Nunit: μ˜ˆμ™Έ λ©”μ‹œμ§€λŠ” Throws.Nothing.Afterλ₯Ό μ‚¬μš©ν•  λ•Œ "TestDelegate"μž…λ‹ˆλ‹€.

에 λ§Œλ“  2016λ…„ 10μ›” 24일  Β·  5μ½”λ©˜νŠΈ  Β·  좜처: nunit/nunit

λˆ„κ΅°κ°€ λ‚˜μ—κ²Œ λ‹€μŒ 행동을 μ„€λͺ…ν•  수 μžˆμŠ΅λ‹ˆκΉŒ? (버그가 μ•„λ‹ˆλΌλŠ” κ°€μ •ν•˜μ—...). DelayedConstraint

Assert.That(() => {throw new Exception("hello");}, Throws.Nothing.After(100));
좜λ ₯:

μ˜ˆμƒ: 100λ°€λ¦¬μ΄ˆ 지연 ν›„ μ˜ˆμ™Έκ°€ λ°œμƒν•˜μ§€ μ•ŠμŒ
ν•˜μ§€λ§Œ <NUnit.Framework.TestDelegate>

Assert.That(() => {throw new Exception("hello");}, Throws.Nothing);
좜λ ₯:

μ˜ˆμƒλ¨: μ˜ˆμ™Έκ°€ λ°œμƒν•˜μ§€ μ•ŠμŒ
ν•˜μ§€λ§Œ <System.Exception: hello
에 ...

λ‘˜ λ‹€ 두 번째 λ©”μ‹œμ§€λ₯Ό 좜λ ₯ν•  κ²ƒμœΌλ‘œ κΈ°λŒ€ν•©λ‹ˆλ‹€.

bug low

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

λ„€, 이해가 λ©λ‹ˆλ‹€. μ΄λŸ¬ν•œ νŠΉμ • μ œμ•½ 쑰건에 λŒ€ν•΄ After의 일반적인 κ΅¬ν˜„μ„ μž¬μ •μ˜ν•΄μ•Ό ν•©λ‹ˆλ‹€.

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

After λ₯Ό Throw와 ν•¨κ»˜ μ‚¬μš©ν•˜λŠ” 것은 μ˜λ―Έκ°€ μ—†μ§€λ§Œ ν—ˆμš©λ˜λŠ” 경우 더 λ‚˜μ€ 좜λ ₯을 μ œκ³΅ν•΄μ•Ό ν•©λ‹ˆλ‹€.

λ‚΄ κΈ°λ³Έ 섀정은 컴파일 νƒ€μž„μ— 이 μ œμ•½ μ‘°κ±΄μ—μ„œ Afterλ₯Ό μ‚¬μš©ν•  수 없도둝 ν•˜μ—¬ 이 문제λ₯Ό μˆ˜μ •ν•˜λŠ” κ²ƒμž…λ‹ˆλ‹€. κ·Έλ ‡κ²Œ ν•  수 μ—†μœΌλ©΄ μ—¬κΈ°μ—μ„œ μ‚¬μš©ν•˜λŠ” 것이 였λ₯˜λΌλŠ” λ©”μ‹œμ§€κ°€ ν‘œμ‹œλ˜μ–΄μ•Ό ν•©λ‹ˆλ‹€.

μ™œ 말이 μ•ˆλœλ‹€κ³  ν•˜μ‹œλŠ”μ§€ 여쭀봐도 λ κΉŒμš”?

μš°λ¦¬κ°€ ν…ŒμŠ€νŠΈμ—μ„œ ν•˜λ €κ³  ν•˜λŠ” 것은 일정 μ‹œκ°„μ΄ μ§€λ‚˜λ©΄ λ©”μ„œλ“œκ°€ throwλ₯Ό μ€‘μ§€ν•˜λ„λ‘ ν•˜λŠ” 것이기 λ•Œλ¬Έμž…λ‹ˆλ‹€. ).

그것은 _seemed_ Throws.Nothing.Afterκ°€ μ μ ˆν•  것이고 _seems_ 우리λ₯Ό μœ„ν•΄ μΌν•˜κ³  μžˆμŠ΅λ‹ˆλ‹€.

λ”°λΌμ„œ λ©”μ„œλ“œκ°€ 호좜될 λ•Œλ§ˆλ‹€ μ˜ˆμ™Έκ°€ λ°œμƒν•˜μ§€ μ•ŠμœΌλ©΄ μ„±κ³΅ν•˜κΈ°λ₯Ό μ›ν•˜μ§€λ§Œ μ˜ˆμ™Έκ°€ λ°œμƒν•˜λ©΄ 계속 μ‹œλ„ν•˜κ³  λ§ˆμ§€λ§‰μœΌλ‘œ μ‹œκ°„μ΄ λ‹€ 된 ν›„μ—λ§Œ μ‹€νŒ¨ν•©λ‹ˆκΉŒ? μ΄λŠ” Afterκ°€ 일반적으둜 μž‘λ™ν•˜λŠ” 방식과 μΌμΉ˜ν•˜μ§€λ§Œ 일반적으둜 μ˜ˆμ™Έλ₯Ό μ²˜λ¦¬ν•˜λŠ” 방식과 μΌμΉ˜ν•˜μ§€λŠ” μ•ŠμŠ΅λ‹ˆλ‹€. :웃닀:

λ˜μ§€κΈ°λ₯Ό μ‚¬μš©ν•œ 경우().후에 ? 그것이 ν—ˆμš©λ˜μ–΄μ•Ό ν•©λ‹ˆκΉŒ?

예, 이것은 일반적으둜 μ˜ˆμ™Έλ₯Ό μ²˜λ¦¬ν•˜λŠ” 방식과 μΌμΉ˜ν•˜μ§€ μ•Šμ„ 수 μžˆμ§€λ§Œ NSubstitute APIκ°€ μž‘λ™ν•˜λŠ” 방식 μž…λ‹ˆλ‹€. λŒ€μ•ˆμ΄ μžˆμŠ΅λ‹ˆλ‹€. μ „ν™”κ°€ μˆ˜μ‹ λ˜μ—ˆλŠ”μ§€ ν™•μΈν•˜κΈ° μœ„ν•΄ 자체 폴링 확인을 μˆ˜ν–‰ν•˜κ±°λ‚˜ μ „ν™”λ₯Ό κ±ΈκΈ° 전에 λ‹€λ₯Έ 것을 기닀릴 수 μžˆμŠ΅λ‹ˆλ‹€. κ·ΈλŸ¬λ‚˜ NUnit μ§€μ—°λœ μ œμ•½ ν”„λ ˆμž„μ›Œν¬λŠ” μ΄λŸ¬ν•œ λ§Žμ€ μŠ€λ ˆλ”©/μ‹œκ°„ 기반 ν…ŒμŠ€νŠΈμ— 쒋은 것 κ°™μœΌλ―€λ‘œ μ™œ μ‚¬μš©ν•˜λ €κ³  ν–ˆμŠ΅λ‹ˆλ‹€.

TBH 예, throws.After도 μž‘λ™ν•  κ²ƒμœΌλ‘œ μ˜ˆμƒλ©λ‹ˆλ‹€. μ¦‰μ‹œ ν‰κ°€λœ μ œμ•½ 쑰건으둜 ν™•μΈν•˜λ €λŠ” λͺ¨λ“  것은 지연 μ œμ•½ 쑰건으둜 μž‘μ—…ν•˜λŠ” κ²ƒλ§ŒνΌμ΄λ‚˜ μ˜λ―Έκ°€ μžˆλ‹€κ³  μƒκ°ν•©λ‹ˆλ‹€.

λ„€, 이해가 λ©λ‹ˆλ‹€. μ΄λŸ¬ν•œ νŠΉμ • μ œμ•½ 쑰건에 λŒ€ν•΄ After의 일반적인 κ΅¬ν˜„μ„ μž¬μ •μ˜ν•΄μ•Ό ν•©λ‹ˆλ‹€.

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