Nunit: 파일 λ˜λŠ” μ–΄μ…ˆλΈ”λ¦¬ 'nunit.framework'λ₯Ό λ‘œλ“œν•  수 μ—†μŠ΅λ‹ˆλ‹€.

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

μ•ˆλ…•ν•˜μ„Έμš”, dotnet nunit 둜 μƒˆ ν”„λ‘œμ νŠΈλ₯Ό μƒμ„±ν–ˆλŠ”λ° Unit.ConsoleRunner.3.8.0을 톡해 ν…ŒμŠ€νŠΈλ₯Ό μ‹€ν–‰ν•˜λ €κ³  ν•˜λ©΄ 이 였λ₯˜κ°€ λ°œμƒν•©λ‹ˆλ‹€.

λ‹·λ„· SDK 버전 2.1.4

였λ₯˜λ₯Ό λ³΄μ—¬μ£ΌλŠ” μƒ˜ν”Œ μ €μž₯μ†Œ: https://github.com/VictorioBerra/nunit3-errors

./build.ps1을 μ‹€ν–‰ν•˜μ—¬ 케이크 νŒŒμΌμ„ μ‹€ν–‰ν•©λ‹ˆλ‹€. κ·Έλ ‡κ²Œ ν•˜λ©΄ NuGetμ—μ„œ Unit.ConsoleRunner.3.8.0이 λ‹€μš΄λ‘œλ“œλ©λ‹ˆλ‹€. λ”°λΌμ„œ 이λ₯Ό μ‹€ν–‰ν•˜κ±°λ‚˜ nuget νŒ¨ν‚€μ§€λ₯Ό λ‹€μš΄λ‘œλ“œν•œ ν›„ μ›ν•˜λŠ” 경우 케이크 λΉ„μ¦ˆλ‹ˆμŠ€λ₯Ό κ±΄λ„ˆλ›°κ³  PowerShellμ—μ„œ μ‹€ν–‰ν•  수 μžˆμŠ΅λ‹ˆλ‹€.

.\tools\NUnit.ConsoleRunner.3.8.0\tools\nunit3-console.exe .\tests\Demo.Tests\bin\Release\netcoreapp2.0\Demo.Tests.dll

question

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

아직 .NET Core 2.0에 μ™„μ „ν•œ κΈ°λŠ₯을 κ°–μΆ˜ NUnit.Console이 μ—†λ‹€λŠ” 사싀에 λ™μ˜ν•©λ‹ˆλ‹€. ν˜„μž¬ PR을 마치면 아무도 λ‚˜λ₯Ό 이기지 λͺ»ν•œλ‹€λ©΄ κ·Έ 길둜 κ°€κ³  μžˆμŠ΅λ‹ˆλ‹€.

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

.NET Framework ν”„λ‘œμ νŠΈμ™€ 달리 .NET Core ν”„λ‘œμ νŠΈμ—λŠ” λΉŒλ“œ μ‹œ bin\{configuration}\{tfm} 폴더에 λ³΅μ‚¬λœ nunit.framework.dllκ³Ό 같은 쒅속성이 μ—†κΈ° λ•Œλ¬Έμž…λ‹ˆλ‹€. dotnet publish λ₯Ό μ‹€ν–‰ν•΄μ•Ό ν•©λ‹ˆλ‹€. Cake의 경우 DotNetCorePublish μ΄κ±°λ‚˜ NUnit이 ν•˜λŠ” 일을 μ°Έμ‘°ν•˜μ‹­μ‹œμ˜€ . 그런 λ‹€μŒμ— μ–΄μ…ˆλΈ”λ¦¬μ— λŒ€ν•œ ν…ŒμŠ€νŠΈλ₯Ό μ‹€ν–‰ bin\{configuration}\{tfm}\publish 쒅속성을 포함 μ•ŠλŠ”ν•©λ‹ˆλ‹€.

dotnet test λŠ” \publish 경둜λ₯Ό dotnet vstest μ „λ‹¬ν•˜κΈ° 전에 이 λͺ¨λ“  κ²Œμ‹œλ₯Ό μˆ˜ν–‰ν•©λ‹ˆλ‹€.
dotnet vstest 와 NUnit μ½˜μ†”μ€ ν”„λ‘œμ νŠΈκ°€ μ•„λ‹Œ μ–΄μ…ˆλΈ”λ¦¬μ—μ„œ μž‘λ™ν•˜λ―€λ‘œ 자체 μ‹€ν–‰ ν…ŒμŠ€νŠΈλ₯Ό μž‘μ„±ν•  λ•Œμ™€ λ§ˆμ°¬κ°€μ§€λ‘œ λ¨Όμ € κ²Œμ‹œν•΄μ•Ό ν•©λ‹ˆλ‹€.

아아아아아아아아아아아아아아아아아아ㅏㅏㅏㅏㅏㅏㅏㅏㅏㅏㅏㅏㅏㅏㅏㅏㅏㅏㅏㅏㅏㅏㅏㅏㅏㅏㅏㅏㅏㅏㅏㅏㅏㅏㅏㅏㅏㅏㅏㅏㅏㅏㅏㅏㅏㅏㅏㅏㅏㅏㅏㅏㅏㅏㅏㅏㅏㅏㅏㅏㅏㅏㅏㅏㅏㅏㅏㅏㅏㅏㅏㅏㅏㅏㅏㅏㅏㅏㅏㅏㅏㅏㅏㅏ μΌ€μ΄ν¬μ—μ„œ 예제λ₯Ό 보면 ν…ŒμŠ€νŠΈλ₯Ό μ‹€ν–‰ν•˜κΈ° μœ„ν•΄ bin λ””λ ‰ν† λ¦¬λ‘œ μ΄λ™ν•˜λŠ” 것을 λͺ…ν™•ν•˜κ²Œ λ³΄μ—¬μ€λ‹ˆλ‹€. https://cakebuild.net/api/Cake.Common.Tools.NUnit/NUnit3Aliases/5A473496

이 λ¬Έμ œμ— λΆ€λ”ͺμΉ˜λŠ” λ‹€λ₯Έ μ‚¬λžŒμ΄ 이것을 보고 μ‹œκ°„μ„ μ ˆμ•½ν•  수 있기λ₯Ό λ°”λžλ‹ˆλ‹€.

λ„ˆλ¬΄ 빨리 κ°€κΈ° 전에: NUnit.ConsoleRunnerλŠ” 아직 .NET Coreμ—μ„œ μ‹€ν–‰λ˜μ§€ μ•ŠμŠ΅λ‹ˆλ‹€. NUnitLiteκ°€ μˆ˜ν–‰ν•˜μ§€λ§Œ 이것이 NUnit ν…ŒμŠ€νŠΈλ₯Ό μ‹€ν–‰ν•˜λŠ” κ°€μž₯ μ‰¬μš΄ λ°©λ²•μž…λ‹ˆλ‹€: https://github.com/nunit/docs/wiki/.NET-Core-and-.NET-Standard

예: https://github.com/jnm2/ApiContractGenerator/blob/aa3c085fdb9c978b252b630187325d6eeb504235/build.cake#L21 -L25

@jnm2 κ·€ν•˜μ˜ μ˜ˆμ œλŠ” ν…ŒμŠ€νŠΈ κ²°κ³Όλ₯Ό μƒμ„±ν•©λ‹ˆκΉŒ? κ²Œμ‹œν•œ μœ„ν‚€μ—μ„œ:

dotnet testλŠ” ν˜„μž¬ ν…ŒμŠ€νŠΈ μ–΄λŒ‘ν„°μ— λŒ€ν•œ λͺ…령쀄 μ˜΅μ…˜ 전달을 μ§€μ›ν•˜μ§€ μ•ŠμœΌλ―€λ‘œ NUnit은 아직 TestResults.xml을 생성할 수 μ—†μŠ΅λ‹ˆλ‹€.

이것은 λ‚΄κ°€ λ§ˆμ§€λ§‰μœΌλ‘œ λ³Ό λ•Œμ˜ μƒνƒœμ˜€μŠ΅λ‹ˆλ‹€.

https://github.com/jnm2/Cake.SqlServer/blob/ed6093e268114ef640851414e64aabec49d284e8/build.cake#L114 -L134

try
{
    DotNetCoreTest("src/Tests/Tests.csproj", new DotNetCoreTestSettings
    {
        Configuration = configuration,
        NoBuild = true,
        Logger = "trx",
        ArgumentCustomization = a => a.AppendSwitchQuoted("--results-directory", tempDirectory)
    });
}
finally
{
    if (parameters.IsRunningOnAppVeyor)
    {
        // dotnet test cannot do more than one target framework per TRX file
        // AppVeyor seems to ignore all but the first TRX upload– perhaps because the test names are identical
        // https://github.com/Microsoft/vstest/issues/880#issuecomment-341912021
        foreach (var testResultsFile in GetFiles(tempDirectory + "/**/*.trx"))
            AppVeyor.UploadTestResults(testResultsFile, AppVeyorTestResultsType.MSTest);
    }
}

아직 .NET Core 2.0에 μ™„μ „ν•œ κΈ°λŠ₯을 κ°–μΆ˜ NUnit.Console이 μ—†λ‹€λŠ” 사싀에 λ™μ˜ν•©λ‹ˆλ‹€. ν˜„μž¬ PR을 마치면 아무도 λ‚˜λ₯Ό 이기지 λͺ»ν•œλ‹€λ©΄ κ·Έ 길둜 κ°€κ³  μžˆμŠ΅λ‹ˆλ‹€.

μ•ˆλ…•ν•˜μ„Έμš”, 이것에 λŒ€ν•œ μ—…λ°μ΄νŠΈκ°€ μžˆμŠ΅λ‹ˆκΉŒ?

https://github.com/nunit/nunit-console/issues/475 λŠ” 따라야 ν•  μŠ€λ ˆλ“œμž…λ‹ˆλ‹€.

@orihomie 이것은 λ‹«νžŒ λ¬Έμ œμž…λ‹ˆλ‹€. λ‹€λ₯Έ μ§ˆλ¬Έμ„ ν•˜λ €λŠ” κ±΄κ°€μš”?

@CharliePoole μ•„λ‹ˆμš”, *\NUnit.Console-3.6.1\nunit3-console.exe둜 .netcore ν…ŒμŠ€νŠΈλ₯Ό μ‹œμž‘ν•˜λ €κ³  ν•  λ•Œ λΉŒλ“œ κ³„νšμ—μ„œ 이 문제λ₯Ό λ§Œλ‚¬κ³  λ°”λ‘œ μ—¬κΈ°λ‘œ μ•ˆλ‚΄ν•˜λŠ” μ˜ˆμ™Έκ°€ λ°œμƒν–ˆμŠ΅λ‹ˆλ‹€.

@orihomie 아직 .NET Core용 μ½˜μ†”μ„ μ‚¬μš©ν•  수 μ—†μ§€λ§Œ dotnet test μ‚¬μš©ν•  수 μžˆμŠ΅λ‹ˆλ‹€.

https://github.com/nunit/docs/wiki/.NET-Core-and-.NET-ν‘œμ€€
https://docs.microsoft.com/en-us/dotnet/core/testing/unit-testing-with-nunit

@orihomie μ½˜μ†”μ„ 톡해 .Net Core ν…ŒμŠ€νŠΈλ₯Ό μ‹€ν–‰ν•˜λŠ” λ¬Έμ œμ— λŒ€ν•œ 후속 μ‘°μΉ˜λŠ” nunit/nunit-console#478을 μ£Όμ‹œν•˜μ„Έμš”.

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