Autofixture: μ„œλͺ… ν‚€λ₯Ό λΉ„λ°€λ‘œ μœ μ§€ν•΄μ•Ό ν•©λ‹ˆκΉŒ?

에 λ§Œλ“  2017λ…„ 04μ›” 02일  Β·  8μ½”λ©˜νŠΈ  Β·  좜처: AutoFixture/AutoFixture

이전에 @ploeh λŠ” λͺ¨λ“  μ–΄μ…ˆλΈ”λ¦¬μ— λŒ€ν•œ μ„œλͺ… ν‚€λ₯Ό λΉ„λ°€λ‘œ μœ μ§€ν–ˆμŠ΅λ‹ˆλ‹€. κ³Όμ—° νƒ€λ‹Ήν•œμ§€ λ…Όμ˜ν•˜κ³  μ‹ΆμŠ΅λ‹ˆλ‹€.

λ‹€λ₯Έ 인기 μžˆλŠ” ν…ŒμŠ€νŠΈ λ„μš°λ―Έλ₯Ό ν™•μΈν•˜λ©΄ λͺ¨λ‘ 곡개 ν‚€λ₯Ό μ—΄μ—ˆμŒμ„ μ•Œ 수 μžˆμŠ΅λ‹ˆλ‹€.

  1. xunit- keyκ°€ μ—΄λ € μžˆμŠ΅λ‹ˆλ‹€.
  2. nunit ν‚€κ°€ μ—΄λ € μžˆμŠ΅λ‹ˆλ‹€.
  3. NSubstitute - ν‚€κ°€ μ—΄λ € μžˆμŠ΅λ‹ˆλ‹€.
  4. Moq ν‚€κ°€ μ—΄λ € μžˆμŠ΅λ‹ˆλ‹€.
  5. FakeItEasy ν‚€κ°€ μ—΄λ € μžˆμŠ΅λ‹ˆλ‹€.
  6. FluentAssertions - ν‚€κ°€ μ—΄λ € μžˆμŠ΅λ‹ˆλ‹€.

AF ν‚€λ₯Ό 닫은 μƒνƒœλ‘œ μœ μ§€ν•˜κ³  μ €μž₯μ†Œμ— μΆ”κ°€ν•  μˆ˜λ„ μžˆλ‹€κ³  μƒκ°ν•©λ‹ˆλ‹€. μ‹€μ œλ‘œ μ„œλͺ…을 톡해 μ–΄μ…ˆλΈ”λ¦¬μ˜ 신원을 증λͺ…ν•  수 μžˆμ§€λ§Œ μ—„κ²©ν•˜κ²Œ μš”κ΅¬ν•˜μ§€λŠ” μ•ŠμŠ΅λ‹ˆλ‹€. μ˜€λŠ˜λ‚  NuGet은 IDκ°€ μ‹€μ œλ‘œ μ€‘μš”ν•œ 타사 μ‚¬μ΄νŠΈκ°€ μ•„λ‹ˆλΌ νŒ¨ν‚€μ§€λ₯Ό λ°°ν¬ν•˜λŠ” 데 μ‚¬μš©λ©λ‹ˆλ‹€.

μ €μž₯μ†Œμ— ν‚€λ₯Ό κ²Œμ‹œν•˜λ©΄ λ§Žμ€ 이점이 μžˆμŠ΅λ‹ˆλ‹€.

  1. CIμ—μ„œ μ„œλͺ…λœ μ–΄μ…ˆλΈ”λ¦¬λ‘œ NuGet을 μƒμ„±ν•˜λŠ” 것이 더 μ‰¬μšΈ κ²ƒμž…λ‹ˆλ‹€.
  2. μ‚¬λžŒλ“€μ΄ 자체 AutoFixture μ–΄μ…ˆλΈ”λ¦¬λ₯Ό λ§Œλ“€κ³  νŠΉμ • 문제λ₯Ό ν•΄κ²°ν•˜λŠ”μ§€ ν…ŒμŠ€νŠΈν•˜λŠ” 것이 더 μ‰¬μšΈ κ²ƒμž…λ‹ˆλ‹€. λ‹€μŒ μ‹œλ‚˜λ¦¬μ˜€λ₯Ό κ³ λ €ν•˜μ‹­μ‹œμ˜€.
1. You found some bug in AF. You download source code locally and fix it.
2. Now you have AF assemblies with fixed bug and you want to test whether it helped.

Here is where the issues start. If you assemblies are unsigned, you cannot simply put the modified assemblies to the local NuGet cache - project will not compile. Rather, you need to update all your projects to target to a new assembly - just for a simple test. The things become even worse when that is the core `AutoFixture` assembly, as other depending libraries (like `AutoFixture.xunit` or `AutoFixture.NSubstitute`) will need to be updated as well.

If we ship signing key issue will be solved.

  1. ν•˜λ‚˜ 더 비밀을 μ €μž₯ν•  ν•„μš”κ°€ μ—†μŠ΅λ‹ˆλ‹€ :)

@ploeh 에 κ΄€ν•΄μ„œλŠ”, κ·Έκ°€ 그것을 λΉ„λ°€λ‘œ μœ μ§€ν•  κ°•λ ₯ν•œ 이유 κ°€ μ—†μ—ˆλ˜ 것 κ°™μŠ΅λ‹ˆλ‹€.

개인적으둜, λ‚˜λŠ” μ—΄μ‡ λ₯Ό μ—΄κ³  λͺ¨λ“  μ‚¬λžŒμ˜ 삢을 λ‹¨μˆœν™”ν•˜κΈ° μœ„ν•΄ 양손을 μ‚¬μš©ν•˜μ—¬ νˆ¬ν‘œν•  κ²ƒμž…λ‹ˆλ‹€.
μ–˜λ“€μ•„ ( @moodmosaic , @adamchester , @ecampidoglio , @klimisa ) - 이것에 λŒ€ν•΄ μ–΄λ–»κ²Œ μƒκ°ν•˜μ„Έμš”?

question

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

πŸ‘ ν‚€λ₯Ό μ—½λ‹ˆλ‹€.

:+1: 열지 μ•Šμ„ μ΄μœ κ°€ μ—†μŠ΅λ‹ˆλ‹€. μ–΄λ–»κ²Œ μ‹ κ²½ μ“°λ‚˜μš”? λ‚˜λŠ” λˆ„κ΅°κ°€κ°€ κ·Έλ ‡κ²Œν•˜λŠ”μ§€ μ˜μ‹¬ν•©λ‹ˆλ‹€.

ν‚€λ₯Ό μ—΄κ³  nuget.org κΆŒν•œμ„ λΉ„λ°€λ‘œ μœ μ§€ν•©λ‹ˆλ‹€.

2017λ…„ 4μ›” 2일 μΌμš”μΌ 14:16 Alexander Batishchev [email protected]
썼닀:

열지 μ•Šμ„ μ΄μœ κ°€ μ—†μŠ΅λ‹ˆλ‹€. μ–΄λ–»κ²Œ μ‹ κ²½ μ“°λ‚˜μš”? λ‚˜λŠ” λˆ„κ΅°κ°€κ°€ κ·Έλ ‡κ²Œν•˜λŠ”μ§€ μ˜μ‹¬ν•©λ‹ˆλ‹€.

β€”
이 μŠ€λ ˆλ“œμ— κ°€μž…ν–ˆκΈ° λ•Œλ¬Έμ— 이 λ©”μ‹œμ§€λ₯Ό λ°›κ³  μžˆμŠ΅λ‹ˆλ‹€.
이 이메일에 직접 λ‹΅μž₯ν•˜κ³  GitHubμ—μ„œ ν™•μΈν•˜μ„Έμš”.
https://github.com/AutoFixture/AutoFixture/issues/746#issuecomment-291000103 ,
λ˜λŠ” μŠ€λ ˆλ“œ μŒμ†Œκ±°
https://github.com/notifications/unsubscribe-auth/AAwCvwwhRzzUb9d3jVblzyxrpqrWyUsJks5rr9fkgaJpZM4Mw2Pq
.

ν† λ‘  μ£Όμ œκ°€ ν₯λ―Έλ‘­κΈ΄ ν•˜μ§€λ§Œ 의견이 μ—†μŠ΅λ‹ˆλ‹€. 그것에 λŒ€ν•΄ 쀑립적인 νˆ¬ν‘œ.

@ecampidoglio 및 @adamchester 여기에도 μ˜κ²¬μ„ μΆ”κ°€ν•΄ μ£Όμ‹œκ² μŠ΅λ‹ˆκΉŒ?
μ €λŠ” ν˜„μž¬ v4용 초기 λΉŒλ“œλ₯Ό κ°–κ³  릴리슀 절차 자체λ₯Ό λ‹¨μˆœν™”ν•˜κΈ° μœ„ν•΄ CIμ—μ„œ μž‘μ—…ν•˜κ³  μžˆμŠ΅λ‹ˆλ‹€. CI에 μ„œλͺ… ν‚€κ°€ ν•„μš”ν•˜λ―€λ‘œ 이 결정이 ν•„μš”ν•©λ‹ˆλ‹€.

특히 이 의견 μ—μ„œ 제기된 두 번째 μš”μ μ„ κ³ λ €ν•  λ•Œ 이λ₯Ό μ—¬λŠ” 것이 합리적이라고 μƒκ°ν•©λ‹ˆλ‹€.
λ˜ν•œ μš”μ¦˜μ—λŠ” νŒ¨ν‚€μ§€λ₯Ό κ²Œμ‹œν•˜λŠ” NuGet 계정에 μ˜ν•΄ μ§„μœ„κ°€ 보μž₯λ˜μ§€λ§Œ AutoFixture μ΄ˆκΈ°μ—λŠ” 그렇지 μ•Šμ•˜μŠ΅λ‹ˆλ‹€.

κ·Έλž˜μ„œ, λ¬Όλ‘ , 당신은 κ³„μ†ν•΄μ„œ λ‚΄κ°€ μ—Όλ €ν•˜λŠ” ν•œ 리포지토리에 ν‚€λ₯Ό 컀밋할 수 μžˆμŠ΅λ‹ˆλ‹€. πŸ‘

πŸ‘ 열어보기

κ°μ‚¬ν•©λ‹ˆλ‹€, λ™μ˜ν•©λ‹ˆλ‹€ :)

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