Nunit: рдлрд╝рд╛рдЗрд▓ рдпрд╛ рдЕрд╕реЗрдВрдмрд▓реА 'nunit.framework' рд▓реЛрдб рдирд╣реАрдВ рдХрд░ рд╕рдХрд╛

рдХреЛ рдирд┐рд░реНрдорд┐рдд 14 рдлрд╝рд░ре░ 2018  ┬╖  12рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ  ┬╖  рд╕реНрд░реЛрдд: nunit/nunit

рд╣реИрд▓реЛ, рдореИрдВрдиреЗ dotnet nunit рд╕рд╛рде рдПрдХ рдирдпрд╛ рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдмрдирд╛рдпрд╛ рд╣реИ рдФрд░ рдЬрдм рдореИрдВ Unit.ConsoleRunner.3.8.0 рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдЕрдкрдиреЗ рдкрд░реАрдХреНрд╖рдгреЛрдВ рдХрд╛ рдкреНрд░рдпрд╛рд╕ рдХрд░рддрд╛ рд╣реВрдВ рдФрд░ рдирд┐рд╖реНрдкрд╛рджрд┐рдд рдХрд░рддрд╛ рд╣реВрдВ рддреЛ рдореБрдЭреЗ рдпрд╣ рддреНрд░реБрдЯрд┐ рдорд┐рд▓рддреА рд╣реИред

рдбреЙрдЯрдиреЗрдЯ рдПрд╕рдбреАрдХреЗ рд╕рдВрд╕реНрдХрд░рдг 2.1.4

рдирдореВрдирд╛ рд╕рдВрдЧреНрд░рд╣ рддреНрд░реБрдЯрд┐ рджрд┐рдЦрд╛ рд░рд╣рд╛ рд╣реИ: https://github.com/VictorioBerra/nunit3-errors

рдХреЗрдХ рдлрд╝рд╛рдЗрд▓ рдХреЛ рдирд┐рд╖реНрдкрд╛рджрд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП ./build.ps1 рдЪрд▓рд╛рдПрдБред рдПрдХ рдмрд╛рд░ рдЬрдм рдЖрдк рдРрд╕рд╛ рдХрд░ рд▓реЗрддреЗ рд╣реИрдВ, рддреЛ рдпрд╣ NuGet рд╕реЗ Unit.ConsoleRunner.3.8.0 рдбрд╛рдЙрдирд▓реЛрдб рдХрд░ рд▓реЗрдЧрд╛ред рддреЛ рдЬрдм рдЖрдк рдЗрд╕реЗ рдЪрд▓рд╛рддреЗ рд╣реИрдВ рдпрд╛ рдирдЧреЗрдЯ рдкреИрдХреЗрдЬ рдбрд╛рдЙрдирд▓реЛрдб рдХрд░рддреЗ рд╣реИрдВ рддреЛ рдЖрдк рдХреЗрдХ рд╡реНрдпрд╡рд╕рд╛рдп рдХреЛ рдЫреЛрдбрд╝ рд╕рдХрддреЗ рд╣реИрдВ рдФрд░ рдпрджрд┐ рдЖрдк рдЪрд╛рд╣реЗрдВ рддреЛ рдЗрд╕реЗ рдкрд╛рд╡рд░рд╢реЗрд▓ рдореЗрдВ рдЪрд▓рд╛ рд╕рдХрддреЗ рд╣реИрдВ:

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

рд╕рдмрд╕реЗ рдЙрдкрдпреЛрдЧреА рдЯрд┐рдкреНрдкрдгреА

рдореИрдВ рдмреАрдЯреАрдбрдмреНрд▓реНрдпреВ рд╕реЗ рд╕рд╣рдордд рд╣реВрдВ рдХрд┐ рдпрд╣ рд╢рд░реНрдо рдХреА рдмрд╛рдд рд╣реИ рдХрд┐ рд╣рдорд╛рд░реЗ рдкрд╛рд╕ рдЕрднреА рддрдХ .NET рдХреЛрд░ 2.0 рдкрд░ рдкреВрд░реА рддрд░рд╣ рдХрд╛рд░реНрдпрд╛рддреНрдордХ NUnit.Console рдирд╣реАрдВ рд╣реИред рдПрдХ рдмрд╛рд░ рдЬрдм рдореИрдВ рдЕрдкрдиреЗ рд╡рд░реНрддрдорд╛рди рдкреАрдЖрд░ рдХреЛ рдкреВрд░рд╛ рдХрд░ рд▓реЗрддрд╛ рд╣реВрдВ, рддреЛ рдореИрдВ рдЙрд╕реА рддрд░рд╣ рдЖрдЧреЗ рдмрдврд╝ рдЬрд╛рддрд╛ рд╣реВрдВ, рдЕрдЧрд░ рдХреЛрдИ рдореБрдЭреЗ рдкреАрдЯрддрд╛ рдирд╣реАрдВ рд╣реИред

рд╕рднреА 12 рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ

рдРрд╕рд╛ рдЗрд╕рд▓рд┐рдП рд╣реИ, рдХреНрдпреЛрдВрдХрд┐ .NET Framework рдкреНрд░реЛрдЬреЗрдХреНрдЯреНрд╕ рдХреЗ рд╡рд┐рдкрд░реАрдд, .NET рдХреЛрд░ рдкреНрд░реЛрдЬреЗрдХреНрдЯреНрд╕ рдореЗрдВ рдЙрдирдХреА рдирд┐рд░реНрднрд░рддрд╛рдПрдВ рдирд╣реАрдВ рд╣реЛрддреА рд╣реИрдВ рдЬреИрд╕реЗ рдХрд┐ nunit.framework.dll рдХреЛ рдмрд┐рд▓реНрдб рдкрд░ bin\{configuration}\{tfm} рдлреЛрд▓реНрдбрд░ рдореЗрдВ рдХреЙрдкреА рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред рдЖрдкрдХреЛ dotnet publish рдЪрд▓рд╛рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИред рдХреЗрдХ рдХреЗ рд▓рд┐рдП, рдпрд╣ DotNetCorePublish рдпрд╛ рджреЗрдЦреЗрдВ рдХрд┐ NUnit рдХреНрдпрд╛ рдХрд░рддрд╛ рд╣реИ ред рдлрд┐рд░ рдЖрдк bin\{configuration}\{tfm}\publish рдореЗрдВ рдЕрд╕реЗрдВрдмрд▓реА рдкрд░ рдкрд░реАрдХреНрд╖рдг рдЪрд▓рд╛рддреЗ рд╣реИрдВ рдЬрд┐рд╕рдореЗрдВ рдирд┐рд░реНрднрд░рддрд╛рдПрдВ рд╣реЛрддреА рд╣реИрдВред

dotnet test \publish рдкрде рд╕реЗ dotnet vstest рдЬрд╛рдиреЗ рд╕реЗ рдкрд╣рд▓реЗ рдЖрдкрдХреЗ рд▓рд┐рдП рдпрд╣ рд╕рд╛рд░рд╛ рдкреНрд░рдХрд╛рд╢рди рдХрд░рддрд╛ рд╣реИред
рджреЛрдиреЛрдВ dotnet vstest рдФрд░ NUnit рдХрдВрд╕реЛрд▓ рдЕрд╕реЗрдВрдмрд▓реА рдкрд░ рдХрд╛рдо рдХрд░рддреЗ рд╣реИрдВ, рдкрд░рд┐рдпреЛрдЬрдирд╛рдУрдВ рдкрд░ рдирд╣реАрдВ, рдФрд░ рдЗрд╕рд▓рд┐рдП рдЖрдкрдХреЛ рдкрд╣рд▓реЗ рдЙрд╕реА рддрд░рд╣ рдкреНрд░рдХрд╛рд╢рд┐рдд рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрддреА рд╣реИ рдЬреИрд╕реЗ рдЖрдк рд╕реНрд╡рдпрдВ-рдирд┐рд╖реНрдкрд╛рджрди рдкрд░реАрдХреНрд╖рдг рд▓рд┐рдЦ рд░рд╣реЗ рдереЗред

рдЕрд╣реНрд╣реНрд╣реНрд╣ рдпрд╣ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдЬреНрдЮрд╛рдирд╡рд░реНрдзрдХ рдФрд░ рдорджрджрдЧрд╛рд░ рд╣реИ, рдмрд╣реБрдд рдмрд╣реБрдд рдзрдиреНрдпрд╡рд╛рджред рдпрджрд┐ рдЖрдк рдХреЗрдХ рдкрд░ рдЙрджрд╛рд╣рд░рдг рджреЗрдЦрддреЗ рд╣реИрдВ рддреЛ рд╡реЗ рд╕реНрдкрд╖реНрдЯ рд░реВрдк рд╕реЗ рдкрд░реАрдХреНрд╖рдг рдирд┐рд╖реНрдкрд╛рджрд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдмрд┐рди рдирд┐рд░реНрджреЗрд╢рд┐рдХрд╛ рдореЗрдВ рдиреЗрд╡рд┐рдЧреЗрдЯ рдХрд░рддреЗ рд╣реБрдП рджрд┐рдЦрд╛рддреЗ рд╣реИрдВ: https://cakebuild.net/api/Cake.Common.Tools.NUnit/NUnit3Aliases/5A473496

рдЙрдореНрдореАрдж рд╣реИ рдХрд┐ рдХреЛрдИ рдФрд░ рдЬреЛ рдЗрд╕рдореЗрдВ рдЯрдХрд░рд╛рдПрдЧрд╛ рд╡рд╣ рдЗрд╕реЗ рджреЗрдЦреЗрдЧрд╛ рдФрд░ рдХреБрдЫ рд╕рдордп рдмрдЪрд╛рдПрдЧрд╛ред

рдЗрд╕рд╕реЗ рдкрд╣рд▓реЗ рдХрд┐ рдореИрдВ рдмрд╣реБрдд рддреЗрдЬреА рд╕реЗ рдЬрд╛рдКрдВ: NUnit.ConsoleRunner рдЕрднреА рддрдХ .NET рдХреЛрд░ рдкрд░ рдирд╣реАрдВ рдЪрд▓рддрд╛ рд╣реИред 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 рдкрд░реАрдХреНрд╖рдг рд╡рд░реНрддрдорд╛рди рдореЗрдВ рдкрд░реАрдХреНрд╖рдг рдПрдбреЗрдкреНрдЯрд░ рдкрд░ рдХрдорд╛рдВрдб рд▓рд╛рдЗрди рд╡рд┐рдХрд▓реНрдк рдкрд╛рд╕ рдХрд░рдиреЗ рдХрд╛ рд╕рдорд░реНрдерди рдирд╣реАрдВ рдХрд░рддрд╛ рд╣реИ, рдЗрд╕рд▓рд┐рдП 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 рдХреЛрд░ 2.0 рдкрд░ рдкреВрд░реА рддрд░рд╣ рдХрд╛рд░реНрдпрд╛рддреНрдордХ NUnit.Console рдирд╣реАрдВ рд╣реИред рдПрдХ рдмрд╛рд░ рдЬрдм рдореИрдВ рдЕрдкрдиреЗ рд╡рд░реНрддрдорд╛рди рдкреАрдЖрд░ рдХреЛ рдкреВрд░рд╛ рдХрд░ рд▓реЗрддрд╛ рд╣реВрдВ, рддреЛ рдореИрдВ рдЙрд╕реА рддрд░рд╣ рдЖрдЧреЗ рдмрдврд╝ рдЬрд╛рддрд╛ рд╣реВрдВ, рдЕрдЧрд░ рдХреЛрдИ рдореБрдЭреЗ рдкреАрдЯрддрд╛ рдирд╣реАрдВ рд╣реИред

рдирдорд╕реНрддреЗ, рдЗрд╕ рдкрд░ рдХреЛрдИ рдЕрдкрдбреЗрдЯ?

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-Standard
https://docs.microsoft.com/en-us/dotnet/core/testing/unit-testing-with-nunit

@orihomie рдХрдВрд╕реЛрд▓ рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдиреЗрдЯ рдХреЛрд░ рдкрд░реАрдХреНрд╖рдг рдЪрд▓рд╛рдиреЗ рдХреЗ рдореБрджреНрджреЗ рдкрд░ рдЕрдиреБрд╡рд░реНрддреА

рдХреНрдпрд╛ рдпрд╣ рдкреГрд╖реНрда рдЙрдкрдпреЛрдЧреА рдерд╛?
0 / 5 - 0 рд░реЗрдЯрд┐рдВрдЧреНрд╕

рд╕рдВрдмрдВрдзрд┐рдд рдореБрджреНрджреЛрдВ

jnm2 picture jnm2  ┬╖  4рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ

xplicit picture xplicit  ┬╖  5рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ

Thaina picture Thaina  ┬╖  5рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ

Prodigio picture Prodigio  ┬╖  3рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ

toomanypeople picture toomanypeople  ┬╖  4рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ