μλ
νμΈμ, 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
.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
@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μ μ£ΌμνμΈμ.
κ°μ₯ μ μ©ν λκΈ
μμ§ .NET Core 2.0μ μμ ν κΈ°λ₯μ κ°μΆ NUnit.Consoleμ΄ μλ€λ μ¬μ€μ λμν©λλ€. νμ¬ PRμ λ§μΉλ©΄ μ무λ λλ₯Ό μ΄κΈ°μ§ λͺ»νλ€λ©΄ κ·Έ κΈΈλ‘ κ°κ³ μμ΅λλ€.