λκ΅°κ° λμκ² λ€μ νλμ μ€λͺ
ν μ μμ΅λκΉ? (λ²κ·Έκ° μλλΌλ κ°μ νμ...). 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
μ ...
λ λ€ λ λ²μ§Έ λ©μμ§λ₯Ό μΆλ ₯ν κ²μΌλ‘ κΈ°λν©λλ€.
After
λ₯Ό Throwμ ν¨κ» μ¬μ©νλ κ²μ μλ―Έκ° μμ§λ§ νμ©λλ κ²½μ° λ λμ μΆλ ₯μ μ 곡ν΄μΌ ν©λλ€.
λ΄ κΈ°λ³Έ μ€μ μ μ»΄νμΌ νμμ μ΄ μ μ½ μ‘°κ±΄μμ Afterλ₯Ό μ¬μ©ν μ μλλ‘ νμ¬ μ΄ λ¬Έμ λ₯Ό μμ νλ κ²μ λλ€. κ·Έλ κ² ν μ μμΌλ©΄ μ¬κΈ°μμ μ¬μ©νλ κ²μ΄ μ€λ₯λΌλ λ©μμ§κ° νμλμ΄μΌ ν©λλ€.
μ λ§μ΄ μλλ€κ³ νμλμ§ μ¬μ€λ΄λ λ κΉμ?
μ°λ¦¬κ° ν μ€νΈμμ νλ €κ³ νλ κ²μ μΌμ μκ°μ΄ μ§λλ©΄ λ©μλκ° throwλ₯Ό μ€μ§νλλ‘ νλ κ²μ΄κΈ° λλ¬Έμ λλ€. ).
κ·Έκ²μ _seemed_ Throws.Nothing.Afterκ° μ μ ν κ²μ΄κ³ _seems_ μ°λ¦¬λ₯Ό μν΄ μΌνκ³ μμ΅λλ€.
λ°λΌμ λ©μλκ° νΈμΆλ λλ§λ€ μμΈκ° λ°μνμ§ μμΌλ©΄ μ±κ³΅νκΈ°λ₯Ό μνμ§λ§ μμΈκ° λ°μνλ©΄ κ³μ μλνκ³ λ§μ§λ§μΌλ‘ μκ°μ΄ λ€ λ νμλ§ μ€ν¨ν©λκΉ? μ΄λ Afterκ° μΌλ°μ μΌλ‘ μλνλ λ°©μκ³Ό μΌμΉνμ§λ§ μΌλ°μ μΌλ‘ μμΈλ₯Ό μ²λ¦¬νλ λ°©μκ³Ό μΌμΉνμ§λ μμ΅λλ€. :μλ€:
λμ§κΈ°λ₯Ό μ¬μ©ν κ²½μ°
μ, μ΄κ²μ μΌλ°μ μΌλ‘ μμΈλ₯Ό μ²λ¦¬νλ λ°©μκ³Ό μΌμΉνμ§ μμ μ μμ§λ§ NSubstitute APIκ° μλνλ λ°©μ μ λλ€. λμμ΄ μμ΅λλ€. μ νκ° μμ λμλμ§ νμΈνκΈ° μν΄ μ체 ν΄λ§ νμΈμ μννκ±°λ μ νλ₯Ό κ±ΈκΈ° μ μ λ€λ₯Έ κ²μ κΈ°λ€λ¦΄ μ μμ΅λλ€. κ·Έλ¬λ NUnit μ§μ°λ μ μ½ νλ μμν¬λ μ΄λ¬ν λ§μ μ€λ λ©/μκ° κΈ°λ° ν μ€νΈμ μ’μ κ² κ°μΌλ―λ‘ μ μ¬μ©νλ €κ³ νμ΅λλ€.
TBH μ, throws.Afterλ μλν κ²μΌλ‘ μμλ©λλ€. μ¦μ νκ°λ μ μ½ μ‘°κ±΄μΌλ‘ νμΈνλ €λ λͺ¨λ κ²μ μ§μ° μ μ½ μ‘°κ±΄μΌλ‘ μμ νλ κ²λ§νΌμ΄λ μλ―Έκ° μλ€κ³ μκ°ν©λλ€.
λ€, μ΄ν΄κ° λ©λλ€. μ΄λ¬ν νΉμ μ μ½ μ‘°κ±΄μ λν΄ Afterμ μΌλ°μ μΈ κ΅¬νμ μ¬μ μν΄μΌ ν©λλ€.
κ°μ₯ μ μ©ν λκΈ
λ€, μ΄ν΄κ° λ©λλ€. μ΄λ¬ν νΉμ μ μ½ μ‘°κ±΄μ λν΄ Afterμ μΌλ°μ μΈ κ΅¬νμ μ¬μ μν΄μΌ ν©λλ€.