Nunit: .NET CLI рдФрд░ .NET рдХреЛрд░ рдореЗрдВ `рдбреЙрдЯрдиреЗрдЯ рдЯреЗрд╕реНрдЯ` рдХрд╛ рд╕рдорд░реНрдерди рдХрд░реЗрдВ

рдХреЛ рдирд┐рд░реНрдорд┐рдд 23 рдорд╛рд░реНрдЪ 2016  ┬╖  49рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ  ┬╖  рд╕реНрд░реЛрдд: nunit/nunit

рд╣рдо рдХрдВрд╕реЛрд▓ рдРрдк рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдиреВрдирд┐рдЯрд▓рд╛рдЗрдЯ рдХреЗ рд╕рд╛рде dotnet run (рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП рдЗрд╕ рд╢рддрд░рдВрдЬ рдкреНрд░рддрд┐рдмрджреНрдзрддрд╛ рдореЗрдВ ) рдХреЗ рд╕рд╛рде рдиреВрдирд┐рдЯ рдкрд░реАрдХреНрд╖рдг рдЪрд▓рд╛ рд╕рдХрддреЗ рд╣реИрдВред рдФрд░ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИ (рднреВрд▓ dnxcore50 рдПрдЯреАрдПрдо, рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдП netstandard )

рд▓реЗрдХрд┐рди .NET CLI (https://github.com/dotnet/cli) рдореЗрдВ рдкрд░реАрдХреНрд╖рдг рдирд┐рд╖реНрдкрд╛рджрди рдХреЗ рд▓рд┐рдП, рдХрдорд╛рдВрдб dotnet test

dotnet test рдпрд╣ рд╡рд╣ рд╣реИ рдЬрд┐рд╕реЗ рдЦреЛрдЬ/рдбреАрдмрдЧ/рдЖрджрд┐ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ ides ( ref dotnet/cli#1376 ) рд╕реЗ рд╕рдорд░реНрдерди рджреЗрдирд╛ рдЪрд╛рд╣рд┐рдП

рдпрд╣реА рд╡рд░реНрддрдорд╛рди рддрд░реАрдХрд╛ рд╣реИ, dnx рдкрджрд╛рд╡рдирдд рд╣реИ (#927 рдмрдВрдж рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдП) рдФрд░ aspnet рдФрд░ dnx .NET CLI рдореЗрдВ рдЬрд╛ рд░рд╣реЗ рд╣реИрдВ

рдПрдХ рдирдпрд╛ рдкреБрд╕реНрддрдХрд╛рд▓рдп dotnet-test-nunit рдпрд╣ dotnet test рд▓рд┐рдП рдЖрд╡рд╢реНрдпрдХ рд╣реИ

dotnet-test-xunit (рд╕рдВрджрд░реНрдн https://github.com/xunit/coreclr.xunit/pull/1 )

xunit рдкрд░реАрдХреНрд╖рдг рдкрд░рд┐рдпреЛрдЬрдирд╛ рдХреЗ рд▓рд┐рдП рдЙрджрд╛рд╣рд░рдг project.json (https://github.com/dotnet/cli рдХреЗ рдЕрдВрджрд░ рдкрд░реАрдХреНрд╖рдг рджреЗрдЦреЗрдВ) рд╣реИ

{
    "version": "1.0.0-*",
    "dependencies": {
        "NETStandard.Library": "1.5.0-rc2-23911",
        "xunit": "2.1.0",
        "dotnet-test-xunit": "1.0.0-dev-91790-12"
     },
     "frameworks": {
         "netstandardapp1.5": { }
     },
     "testRunner": "xunit"
}

testRunner рд╕рдВрдкрддреНрддрд┐ dotnet test (рд░реЗрдлрд░реА рд╕реНрд░реЛрдд ) рджреНрд╡рд╛рд░рд╛ рдкрдврд╝реА рдЬрд╛рддреА рд╣реИ рдФрд░ dotnet-test-{testRunner}

/cc @piotrpMSFT @livarcocc рдЬрд╛рдирдХрд╛рд░реА рдХреЗ рд▓рд┐рдП рдХреНрдпреЛрдВрдХрд┐ .NET CLI рдФрд░ dotnet-test, dotnet-test-xunit рдкрд░ рдЙрдирдХрд╛ рдХрд╛рдо рдХреНрдпреЛрдВрдХрд┐ рдЕрдзрд┐рдХ рдЬрд╛рдирдХрд╛рд░реА рдЕрдЪреНрдЫреА рд╣реИ: рдореБрд╕реНрдХрд╛рди:

рдореИрдВ рдЗрд╕рдореЗрдВ рдорджрдж рдХрд░ рд╕рдХрддрд╛ рд╣реВрдВ, рдЕрдЧрд░ рдпрд╣ рдЖрдкрдХреЗ рд▓рд┐рдП рдареАрдХ рд╣реИ рдФрд░ @piotrpMSFT рдХрд╣рддреЗ рд╣реИрдВ рдХрд┐ рдЬрд╛рдУ (рдпрд╣ рд╕реНрдерд┐рд░ рдПрдЯреАрдПрдо рд╣реИ, рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдмреЗрд╣рддрд░ рд╕реБрдирд┐рд╢реНрдЪрд┐рдд рдХрд░реЗрдВ): рдореБрд╕реНрдХрд╛рди:

done enhancement high

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

рдпрд╣ рдЕрднреА рддрдХ рдкреНрд░рд╛рдЗрдо рдЯрд╛рдЗрдо рдХреЗ рд▓рд┐рдП рддреИрдпрд╛рд░ рдирд╣реАрдВ рд╣реИ, рд▓реЗрдХрд┐рди рдореЗрд░реЗ рдкрд╛рд╕ рдХрдВрд╕реЛрд▓ рдФрд░ рд╡рд┐рдЬреБрдЕрд▓ рд╕реНрдЯреВрдбрд┐рдпреЛ рдореЗрдВ NUnit .NET рдХреЛрд░ рдкрд░реАрдХреНрд╖рдг рдЪрд▓ рд░рд╣реЗ рд╣реИрдВред рдЕрд▓реНрдлрд╛ рдЖрдЙрдЯ рд╣реЛрдиреЗ рд╕реЗ рдкрд╣рд▓реЗ рдЕрднреА рднреА рдХрдИ рдореБрджреНрджреЛрдВ рдХреЛ рд╣рд▓ рдХрд░рдирд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдЕрдм рд╣рдо рдмрд╣реБрдд рдХрд░реАрдм рд╣реИрдВ рдХреНрдпреЛрдВрдХрд┐ рдХрдбрд╝реА рдореЗрд╣рдирдд рдХреА рдЬрд╛рддреА рд╣реИ рдФрд░ рдпрд╣ рд╡рд┐рд╡рд░рдг рдХреЗ рд▓рд┐рдП рдиреАрдЪреЗ рд╣реИред

рдореИрдВ рдХреБрдЫ рдореБрджреНрджреЛрдВ рдХреЛ рдареАрдХ рдХрд░рдиреЗ рдХреЗ рдмрд╛рдж рд╕реАрдЖрдИ рдмрд┐рд▓реНрдб рдХреЗ рд╕рд╛рде рдкрд░реАрдХреНрд╖рдг рдХрд░рдиреЗ рдХреЗ рддрд░реАрдХреЗ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рд╡рд┐рд╡рд░рдг рдкреЛрд╕реНрдЯ рдХрд░реВрдВрдЧрд╛ред рдореИрдВ рдЗрд╕рдХреА рд╕рд░рд╛рд╣рдирд╛ рдХрд░реВрдВрдЧрд╛ рдпрджрд┐ рд▓реЛрдЧ рдЯрд╛рдпрд░реЛрдВ рдХреЛ рд▓рд╛рдд рдорд╛рд░ рд╕рдХреЗрдВ рдФрд░ рдореБрдЭреЗ рд╕рдорд╕реНрдпрд╛рдУрдВ рдХрд╛ рдкрддрд╛ рд▓рдЧрд╛рдиреЗ рдореЗрдВ рдорджрдж рдХрд░ рд╕рдХреЗрдВред

рдпрд╣рд╛рдБ рдПрдХ рд╕реНрдХреНрд░реАрдирд╢реЙрдЯ рд╣реИред

image

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

#927 рдХреЗ рд╕рд╛рде рдЖрдЧреЗ рдмрдврд╝рдиреЗ рд╕реЗ рдкрд╣рд▓реЗ рд╣рдо .NET Core рдХреЗ рдмрд╕рдиреЗ рдХрд╛ рдЗрдВрддрдЬрд╛рд░ рдХрд░ рд░рд╣реЗ рдереЗ, рдЗрд╕реАрд▓рд┐рдП рдЗрд╕реЗ рдирдП рд╢реАрд░реНрд╖рдХ рдФрд░ рдЬрд╛рдирдХрд╛рд░реА рдХреЗ рд╕рд╛рде рдЕрдкрдбреЗрдЯ рдирд╣реАрдВ рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИред рдореИрдВ рдХрд┐рд╕реА рднреА рдШреЛрд╖рдгрд╛ рдХреА рдкреНрд░рддреАрдХреНрд╖рд╛ рдХрд░рдиреЗ рдХреА рдпреЛрдЬрдирд╛ рдмрдирд╛ рд░рд╣рд╛ рдерд╛ рдЬреЛ рдЖрдЧреЗ рдмрдврд╝рдиреЗ рд╕реЗ рдкрд╣рд▓реЗ //build рдкрд░ рдЖ рд╕рдХрддреА рд╣реИ, рд▓реЗрдХрд┐рди рд╣рдо рдХрд┐рд╕реА рднреА рдорджрдж рдХреА рд╕рд░рд╛рд╣рдирд╛ рдХрд░реЗрдВрдЧреЗ рдЬреЛ рд╣рдореЗрдВ рдорд┐рд▓ рд╕рдХрддреА рд╣реИред рдореЗрд░реА рдпреЛрдЬрдирд╛ рдЗрд╕ рдЧрд░реНрдореА рдореЗрдВ 3.4 рд░рд┐рд▓реАрдЬ рдХреЗ рд╕рд╛рде рдЕрдзрд┐рдХ рдкреНрд▓реЗрдЯрдлрд╛рд░реНрдореЛрдВ рдХреЗ рд▓рд┐рдП рдЕрдзрд┐рдХ рдкреВрд░реНрдг рд╕рдорд░реНрдерди рдкреНрд░рджрд╛рди рдХрд░рдирд╛ рд╢реБрд░реВ рдХрд░рдирд╛ рд╣реИ, рдЬрд┐рд╕рдореЗрдВ .NET Core, UWP рдФрд░ Xamarin рд╢рд╛рдорд┐рд▓ рд╣реИрдВред

рдЖрдкрдиреЗ рдпрд╣рд╛рдВ рдПрдХ рдЕрдЪреНрдЫреА рддрд░рд╣ рд╕реЗ рд▓рд┐рдЦрд┐рдд рд╕рд╛рд░рд╛рдВрд╢ рдкреНрд░рджрд╛рди рдХрд┐рдпрд╛ рд╣реИ, рдЗрд╕рд▓рд┐рдП рдореИрдВ #927 рдХреЛ рдмрдВрдж рдХрд░рдиреЗ рдЬрд╛ рд░рд╣рд╛ рд╣реВрдВ рдФрд░ рдЖрдЧреЗ рдмрдврд╝рдиреЗ рдХреЗ рд▓рд┐рдП рдЗрд╕ рдореБрджреНрджреЗ рдХрд╛ рдЙрдкрдпреЛрдЧ рдЯреНрд░реИрдХрд┐рдВрдЧ рдХреЗ рд▓рд┐рдП рдХрд░реВрдВрдЧрд╛ред рдЕрдЧрд░ рдЖрдк рдЗрд╕ рдореБрджреНрджреЗ рдореЗрдВ рдорджрдж рдХрд░рдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВ, рддреЛ рд╣рдо рд╕рдордиреНрд╡рдп рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ, рд▓реЗрдХрд┐рди рдореИрдВ рдЖрдкрдХреА рдорджрдж рдХрд╛ рд╕реНрд╡рд╛рдЧрдд рдХрд░реВрдВрдЧрд╛ред

рдЗрд╕ рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдореЗрдВ рдкрд╣рд▓рд╛ рдХрджрдо рдПрдХ рдкреАрд╕реАрдПрд▓ рдбреНрд░рд╛рдЗрд╡рд░/рдПрдЬреЗрдВрдЯ рдмрдирд╛рдирд╛ рдерд╛ рдЬреЛ рдПрдирдпреВрдиреАрдЯрд▓рд╛рдЗрдЯ рдФрд░ рд╡рд░реНрддрдорд╛рди рдЬрд╝рд╛рдорд░реАрди рд░рдирд░ рдЬреИрд╕реЗ рдПрдирдпреВрдиреАрдЯ рдлреНрд░реЗрдорд╡рд░реНрдХ рдХреЗ рдПрдХ рд╡рд┐рд╢рд┐рд╖реНрдЯ рд╕рдВрд╕реНрдХрд░рдг рд╕реЗ рдХрд╕рдХрд░ рдмрдВрдзреЗ рдмрд┐рдирд╛ рдкрд░реАрдХреНрд╖рдгреЛрдВ рдХреЛ рд▓реЛрдб рдФрд░ рдирд┐рд╖реНрдкрд╛рджрд┐рдд рдХрд░ рд╕рдХрддрд╛ рд╣реИред рдпрд╣ рдЕрднреА рднреА рдЕрдкрдиреА рдкреНрд░рд╛рд░рдВрднрд┐рдХ рдЕрд╡рд╕реНрдерд╛ рдореЗрдВ рд╣реИ, рд▓реЗрдХрд┐рди рдХрд╛рд░реНрдп рдкреНрд░рдЧрддрд┐ рдкрд░ рд╣реИ nunit.portable.agent рдкрд░рд┐рдпреЛрдЬрдирд╛ рдореЗрдВред

рдХреЛрдИ рднреА рдорджрдж рдпрд╛ рд╕рд▓рд╛рд╣ рдЬреЛ @piotrpMSFT рдпрд╛ @livarcocc рджреЗ рд╕рдХрддреА рд╣реИ, рдЙрд╕рдХреА рднреА рд╕рд░рд╛рд╣рдирд╛ рдХреА рдЬрд╛рдПрдЧреА: рдореБрд╕реНрдХрд╛рди:

@rprouse рдореЗрд░реЗ рдкрд╛рд╕

рдпрд╣ рдЗрд╕реЗ рдЯреНрд░реИрдХ рдХрд░рдиреЗ рд╡рд╛рд▓рд╛ рдмрдЧ рд╣реИ: https://github.com/dotnet/cli/issues/1803ред

рдпрд╣ рдХреИрд╕рд╛ рдЪрд▓ рд░рд╣рд╛ рд╣реИ? рдореБрдЭреЗ рдЗрд╕рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛ рдЕрдЪреНрдЫрд╛ рд▓рдЧреЗрдЧрд╛, рдФрд░ рдбреЙрдЯрдиреЗрдЯ рдХреНрд▓реА рдкрд╛рд░рд┐рд╕реНрдерд┐рддрд┐рдХреА рддрдВрддреНрд░ рд╕реНрдерд┐рд░ рд╣реЛ рд░рд╣рд╛ рд╣реИред

рдореИрдВ рдХреБрдЫ рдкреНрд░рдЧрддрд┐ рдХрд░ рд░рд╣рд╛ рд╣реВрдВ, рд▓реЗрдХрд┐рди RC2 рдХреЗ рдЧрд┐рд░рдиреЗ рддрдХ рдореИрдВ рдмрд╣реБрдд рдЕрдзрд┐рдХ рдирд╣реАрдВ рдХрд░рдирд╛ рдЪрд╛рд╣рддрд╛ред рдореИрдВ рдкрд░рд┐рд╡рд░реНрддрдиреЛрдВ рдХреЗ рд╕рд╛рде рдмрдиреЗ рд░рд╣рдиреЗ рдХреА рдХреЛрд╢рд┐рд╢ рдХрд░рдиреЗ рд╕реЗ рдмреАрдорд╛рд░ рд╣реЛ рд░рд╣рд╛ рд╣реВрдВ: рдореБрд╕реНрдХрд╛рди:

рдХреНрдпрд╛ рдореИрдВ рдпрд╣рд╛рдБ рдХрд┐рд╕реА рдХреА рдорджрдж рдХрд░ рд╕рдХрддрд╛ рд╣реВрдБ? рдпрд╣ рд╣рдорд╛рд░реЗ рдХреБрдЫ рдкреЛрд░реНрдЯ рдЬреИрд╕реЗ StackExchange.Redis рдХреЛ рдкреВрд░рд╛ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдПрдХ рдЕрд╡рд░реЛрдзрдХ рд╣реИред

@NickCraver рдореИрдВ рдирд┐рд╢реНрдЪрд┐рдд рд░реВрдк рд╕реЗ рдХреБрдЫ рдорджрдж рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд╕рдХрддрд╛ рдерд╛, рд╕рдВрдЪрд╛рд░ рдкреНрд░реЛрдЯреЛрдХреЙрд▓ рдХреЗ рдкрд╣рд▓реЗ рдкрдврд╝рдиреЗ рд╕реЗ рдЪреАрдЬреЗрдВ рдмрд╣реБрдд рд╕реНрдкрд╖реНрдЯ рдирд╣реАрдВ

рдкрд╣рд▓рд╛ рдХрджрдо рдпрд╣ рддрдп рдХрд░ рд░рд╣рд╛ рд╣реИ рдХрд┐ рд╣рдо рдЗрд╕ рдкрд░ рдХреИрд╕реЗ рдкрд╣реБрдВрдЪреЗрдВрдЧреЗред рд╡рд░реНрддрдорд╛рди рдореЗрдВ рд╣рдорд╛рд░реЗ рдкрд╛рд╕ рдкреЛрд░реНрдЯреЗрдмрд▓ рдмрд┐рд▓реНрдб рд╣реИ рдЬреЛ .NET рдХреЛрд░ рдХреЛ рд▓рдХреНрд╖рд┐рдд рдХрд░рддрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдпрд╣ рд╕реАрдорд┐рдд рд╣реИред рдореИрдВ рдврд╛рдВрдЪреЗ рдХрд╛ рдореВрд▓ рдирд┐рд░реНрдорд╛рдг рдмрдирд╛рдиреЗ рдкрд░ рд╡рд┐рдЪрд╛рд░ рдХрд░ рд░рд╣рд╛ рд╣реВрдВ, рд▓реЗрдХрд┐рди рдореБрдЭреЗ рдпрдХреАрди рдирд╣реАрдВ рд╣реИ рдХрд┐ рдореБрдЭреЗ рдЗрд╕рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ рдпрд╛ рдирд╣реАрдВред

рдлрд┐рд░ рдореБрдЭреЗ рдпрд╣ рджреЗрдЦрдиреЗ рдХреА рдЬрд╝рд░реВрд░рдд рд╣реИ рдХрд┐ dotnet рдХрдорд╛рдВрдб рдХреЗ рд▓рд┐рдП рдПрдХ рдкрд░реАрдХреНрд╖рдг рдПрдХреНрд╕рдЯреЗрдВрд╢рди рдмрдирд╛рдиреЗ рдореЗрдВ рдХреНрдпрд╛ рд▓рдЧрддрд╛ рд╣реИред

рдЕрдВрдд рдореЗрдВ, рдореИрдВ рдЪрд╛рд╣рддрд╛ рд╣реВрдВ рдХрд┐ рдиреВрдирд┐рдЯ рдЗрдВрдЬрди рдПрдХ рдХреЛрд░ рдиреВрдирд┐рдЯ-рдПрдЬреЗрдВрдЯ рдХреЗ рд╕рд╛рде рд▓реЙрдиреНрдЪ рдФрд░ рд╕рдВрдЪрд╛рд░ рдХрд░рдиреЗ рдореЗрдВ рд╕рдХреНрд╖рдо рд╣реЛ рддрд╛рдХрд┐ nunit3-console .NET рдХреЛрд░ рдпреВрдирд┐рдЯ рдкрд░реАрдХреНрд╖рдг рдЪрд▓рд╛ рд╕рдХреЗред рдореИрдВ рдЗрд╕ рдкрд░ рдХрд╛рдо рдХрд░ рд░рд╣рд╛ рд╣реВрдВ, рд▓реЗрдХрд┐рди рдЕрднреА рднреА рд╡рд╣рд╛рдВ рдмрд╣реБрдд рдХрд╛рдо рдХрд░рдирд╛ рд╣реИред

рдЖрдк рдХреИрд╕реЗ рдорджрдж рдХрд░рдирд╛ рдЪрд╛рд╣реЗрдВрдЧреЗ?

@rprouse рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рд╕рдВрднрд╡рддрдГ рдХреНрд░реЙрд╕-рдкреНрд▓реЗрдЯрдлрд╝реЙрд░реНрдо рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЖрдкрдХреЛ рдХреЛрд░ рдмрд┐рд▓реНрдб рдХрд░рдирд╛ рд╣реЛрдЧрд╛, рдпрд╣ рдПрдХ рдорд╣рддреНрд╡рдкреВрд░реНрдг рд╡рд┐рд╢реЗрд╖рддрд╛ рд╣реИред

рдореБрдЭреЗ рдпрдХреАрди рдирд╣реАрдВ рд╣реИ рдХрд┐ рд╣рдо рдХрд┐рддрдирд╛ рд╕рдордп рдЗрд╕рдореЗрдВ рд▓рдЧрд╛ рд╕рдХрддреЗ рд╣реИрдВ рдмрдирд╛рдо рдХрд╣реАрдВ рдФрд░ рдирд┐рд╡реЗрд╢ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ, рд╣рд╛рд▓рд╛рдВрдХрд┐ рдИрдорд╛рдирджрд╛рд░ рд╣реЛрдиреЗ рдХреЗ рд▓рд┐рдП, рдХрд╛рдо рдХреА рдорд╛рддреНрд░рд╛ рдХреЛ рджреЗрдЦрддреЗ рд╣реБрдПред рдЕрднреА рдХреЗ рд▓рд┐рдП, рдореБрдЭреЗ рдХрдИ рдбрд╛рдЙрдирд╕реНрдЯреНрд░реАрдо рд▓реЛрдЧреЛрдВ рдХреЗ рд▓рд┐рдП рдкреБрд╕реНрддрдХрд╛рд▓рдпреЛрдВ рдФрд░ рдРрдкреНрд╕ рдХреЗ рдирд┐рд░реНрдорд╛рдг рдХреА рдкреНрд░рддреАрдХреНрд╖рд╛ рдХрд░ рд░рд╣реЗ рдкреБрд╕реНрддрдХрд╛рд▓рдпреЛрдВ рдХреЛ рджрд░рд╡рд╛рдЬреЗ рд╕реЗ рдмрд╛рд╣рд░ рдирд┐рдХрд╛рд▓рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИред рдореБрдЭреЗ рдпрд╣ рдХрд╣рдиреЗ рд╕реЗ рдирдлрд░рдд рд╣реИ, рд▓реЗрдХрд┐рди рдЖрдЬ рдЬреЛ рдЙрдкрд▓рдмреНрдз рд╣реИ рдЙрд╕рдХреА рддреБрд▓рдирд╛ рдореЗрдВ рдпрд╣рд╛рдВ рдЕрдВрддрд░рд╛рд▓ рдХреЛ рджреЗрдЦрддреЗ рд╣реБрдП, рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рд╣рдореЗрдВ рд╕рдм рдХреБрдЫ xUnit рдкрд░ рдкреЛрд░реНрдЯ рдХрд░рдирд╛ рд╣реЛрдЧрд╛, рдЕрдиреНрдпрдерд╛ рдХрдИ рд╕реИрдХрдбрд╝реЛрдВ рд╕реЗ рд╣рдЬрд╛рд░реЛрдВ рдбреЗрд╡рд▓рдкрд░реНрд╕ рдпрд╣рд╛рдВ рд░рд┐рд▓реАрдЬ рдХреА рдПрдХ рдЕрд╡рд░реБрджреНрдз рд╢реНрд░реГрдВрдЦрд▓рд╛ рдкрд░ рдкреНрд░рддреАрдХреНрд╖рд╛ рдХрд░ рд░рд╣реЗ рд╣реИрдВред

рд╣рдо рд╕реНрдерд┐рд░ рд╣реЛрдиреЗ рдФрд░ рд╕рдордп рдХреА рдЕрдиреБрдорддрд┐ рдХреЗ рдмрд╛рдж рдореИрдВ рдЗрд╕реЗ рдлрд┐рд░ рд╕реЗ рджреЗрдЦрдиреЗ рдХреА рдХреЛрд╢рд┐рд╢ рдХрд░реВрдВрдЧрд╛, рд▓реЗрдХрд┐рди (рдФрд░ рдЕрдЧрд░ рдореИрдВ рдЧрд▓рдд рд╣реВрдВ рддреЛ рдореБрдЭреЗ рд╕реБрдзрд╛рд░реЗрдВ) рдлрд┐рд▓рд╣рд╛рд▓ рд╣рдо рдХрд╛рдо рдХреЗ рд╣рдлреНрддреЛрдВ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдмрд╛рдд рдХрд░ рд░рд╣реЗ рд╣реИрдВ (рдЖрдкрдХреА рдкреЛрд╕реНрдЯ рдХреЗ рдЕрдиреБрд╕рд╛рд░) рдЗрд╕рд╕реЗ рдкрд╣рд▓реЗ рдХрд┐ рдореИрдВ ' рдореИрдВ рдЗрд╕реЗ рдЪрд▓рд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдЗрд╕рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдореЗрдВ рд╕рдХреНрд╖рдо рд╣реЛ рд╕рдХрддрд╛ рд╣реВрдВ рдЬреЛ рдореБрдЭреЗ рдЖрд╢рд╛ рд╣реИ рдХрд┐ рдкреБрд╕реНрддрдХрд╛рд▓рдп рдмрдВрджрд░рдЧрд╛рд╣реЛрдВ рдХреЛ рдЬрд╣рд╛рдЬ рдХреЗ рд▓рд┐рдП рддреИрдпрд╛рд░ рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИред рдПрдХ рд▓реЗрдЦрдХ рдХрд░реНрддрд╡реНрдп рдХреЗ рджреГрд╖реНрдЯрд┐рдХреЛрдг рд╕реЗ, рдореБрдЭреЗ рдкрд╣рд▓реЗ рдореБрдЭ рдкрд░ рд▓реЛрдЧреЛрдВ рдХреЛ рдЕрдирдмреНрд▓реЙрдХ рдХрд░рдирд╛ рд╣реЛрдЧрд╛, рдлрд┐рд░ рдЕрдкрд╕реНрдЯреНрд░реАрдо рдореЗрдВ рдЬрд┐рддрдирд╛ рд╣реЛ рд╕рдХреЗ рдорджрдж рдХрд░реЗрдВред

@NickCraver xUnit рдХреЛ рдкреЛрд░реНрдЯ рдХрд░рдиреЗ рдХреЗ рдкреНрд░рдпрд╛рд╕ рдХреЛ рдЦрд░реНрдЪ рдХрд░рдиреЗ рдХреЗ рдмрдЬрд╛рдп, рдЖрдкрдХреЗ .NET рдХреЛрд░ рдкрд░реАрдХреНрд╖рдг рдЪрд▓рд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдПрдХ рдХрдорд╛рдВрдб рд▓рд╛рдЗрди NUnitLite рд░рдирд░ рдмрдирд╛рдирд╛ рдЖрд╕рд╛рди рд╣реЛ рд╕рдХрддрд╛ рд╣реИред рдпрд╣ рдПрдХ рд╕рд╣реА рд╕рдорд╛рдзрд╛рди рдирд╣реАрдВ рд╣реИ, рд▓реЗрдХрд┐рди рд╕рдВрднрд╡рддрдГ рдХрдо рд╕реЗ рдХрдо рдХрд╛рдо рдХреА рдорд╛рддреНрд░рд╛ рд╣реИред рдпрд╣ рдереЛрдбрд╝рд╛ рдкреБрд░рд╛рдирд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдореИрдВрдиреЗ NUnit 3 рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ .NET Core рдХрд╛ рдкрд░реАрдХреНрд╖рдг рдХрд░рдиреЗ рдХреЗ рддрд░реАрдХреЗ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдмреНрд▓реЙрдЧ рдХрд┐рдпрд╛ред

рдореИрдВ рдЗрд╕реЗ рдХреБрдЫ рдирд┐рдЬреА рдкрд░рд┐рдпреЛрдЬрдирд╛рдУрдВ рдХреЗ рд▓рд┐рдП рдХрд░ рд░рд╣рд╛ рд╣реВрдВ рдФрд░ рдпрд╣ рдХрд╛рд░реНрдпрд╛рддреНрдордХ рд╣реИред

рдореБрдЭреЗ рд╡рд╣рд╛рдВ рдПрдХ рдЙрдЪрд┐рдд рдбреЙрдЯрдиреЗрдЯ-рдЯреЗрд╕реНрдЯ-рдирдирд┐рдЯ рдмрдирд╛рдиреЗ рдореЗрдВ рдорджрдж рдХрд░рдиреЗ рдореЗрдВ рдЦреБрд╢реА рд╣реЛрдЧреАред рдореБрдЭреЗ рдпрдХреАрди рд╣реИ рдХрд┐ рдмрд╣реБрдд рд╕реЗ рд▓реЛрдЧреЛрдВ рдХреЛ рдлрд╛рдпрджрд╛ рд╣реЛрдЧрд╛ред рдкреНрд░реЛрдЯреЛрдХреЙрд▓ рдореЗрдВ рдкрд░рд┐рднрд╛рд╖рд┐рдд рдЕрдзрд┐рдХрд╛рдВрд╢ рдЕрдиреБрдмрдВрдз рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рдПрдХ рд╕рд╣рд╛рдпрдХ рдкреБрд╕реНрддрдХрд╛рд▓рдп рдореЗрдВ рд▓рд╛рдЧреВ рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИред рдпрджрд┐ рд╣рдорд╛рд░реЗ рдкрд╛рд╕ рдПрдХ рдХрд╛рд░реНрдпрд╢реАрд▓ xplat рдиреВрдирд┐рдЯ рдзрд╛рд╡рдХ рд╣реИ, рддреЛ рдпрд╣ рдереЛрдбрд╝рд╛ рдХрд╛рдо рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдПред

рдХреНрдпрд╛ рдпрд╣ рдЗрд╕реЗ рджреЛ рдЪрд░рдгреЛрдВ рдореЗрдВ рддреЛрдбрд╝рдиреЗ рдореЗрдВ рдорджрдж рдХрд░реЗрдЧрд╛ - рдПрдХ рдкреНрд░рдХрд╛рд░ рдХрд╛ "рддреНрд╡рд░рд┐рдд рдФрд░ рдЧрдВрджрд╛, рд╣реЛ рд╕рдХрддрд╛ рд╣реИ рдХрд┐ рдЧрдбрд╝рдмрдбрд╝ рд╣реИрдХ рд╣реЛ, рд▓реЗрдХрд┐рди рдХрдо рд╕реЗ рдХрдо рдЪрд▓реЛ рд╡рд╣рд╛рдВ рдХреБрдЫ рдкреНрд░рд╛рдкреНрдд рдХрд░реЗрдВ" рд░рд┐рд▓реАрдЬ рдФрд░ рдлрд┐рд░ рдмрд╛рдж рдореЗрдВ рдПрдХ рдкреВрд░реА рддрд░рд╣ рд╕реЗ рдПрдХреАрдХрд░рдг?

(рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдиреЗрдЯрд╕реНрдЯреИрдВрдбрд░реНрдб 1.3 рдХреЗ рдЯреАрдПрдлрдПрдо рдХреЗ рд╕рд╛рде рдкрд░реАрдХреНрд╖рдгреЛрдВ рдХрд╛ рдирд┐рд░реНрдорд╛рдг рдХрд░рдиреЗ рд╕реЗ рдореБрдЭреЗ рдиреЛрдбрд╛ рдЯрд╛рдЗрдо рдХреЗ рд▓рд┐рдП рдЕрдирдмреНрд▓реЙрдХ рдХрд░рдиреЗ рдореЗрдВ рдХрд╛рдлреА рдорджрдж рдорд┐рд▓реЗрдЧреАред)

@jskeet рдФрд░ @NickCraver рдЖрдк NUnitlite "рд╣реИрдХ" рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдЖрдЬ NUnit рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ рдЬреИрд╕рд╛ рдХрд┐ @rprouse рдиреЗ рд╕реБрдЭрд╛рд╡ рджрд┐рдпрд╛ рдерд╛, рдореИрдВ рдЗрд╕реЗ рдХреБрдЫ рд╕рдордп рд╕реЗ Npgsql рдХреЗ рд▓рд┐рдП рдХрд░ рд░рд╣рд╛ рд╣реВрдВ рдФрд░ рдпрд╣ рдЕрдЪреНрдЫреА рддрд░рд╣ рд╕реЗ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИред рдпрд╣ рд╕рд╣реА рд╕рдорд╛рдзрд╛рди рдирд╣реАрдВ рд╣реИ рд▓реЗрдХрд┐рди рдЗрд╕реЗ рдирд┐рд╢реНрдЪрд┐рдд рд░реВрдк рд╕реЗ рдЖрдк рд▓реЛрдЧреЛрдВ рдХреЛ рдЕрдирдмреНрд▓реЙрдХ рдХрд░рдирд╛ рдЪрд╛рд╣рд┐рдПред

@roji : рдЗрд╕рдиреЗ dnxcore50 рд╕рд╛рде рдХрд╛рдо рдХрд┐рдпрд╛ (рдореИрдВ рдЗрд╕реЗ рдереЛрдбрд╝реА рджреЗрд░ рдХреЗ рд▓рд┐рдП рдиреЛрдбрд╛ рдЯрд╛рдЗрдо рдХреЗ рд╕рд╛рде рдЙрдкрдпреЛрдЧ рдХрд░ рд░рд╣рд╛ рд╣реВрдВ) - рд▓реЗрдХрд┐рди netstandard1.3 рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ, NUnit рдФрд░ NUnitLite рдкрд░ рдирд┐рд░реНрднрд░рддрд╛ рдЕрдорд╛рдиреНрдп рд╣реИред

@jskeet рдореЗрд░рд╛ рдкрд░реАрдХреНрд╖рдг рдкреНрд░реЛрдЬреЗрдХреНрдЯ netcoreapp1.0 рдХреЛ рд▓рдХреНрд╖рд┐рдд рдХрд░рддрд╛ рд╣реИ рдФрд░ Nunit+NUnitLite 3.2.1 рдкрд░ рдирд┐рд░реНрднрд░ рдХрд░рддрд╛ рд╣реИред рдореЗрд░реЗ рдкрд╛рд╕ "imports" : [ "dotnet54" ] рдФрд░ рдпрд╣ рдПрдХ рдЖрдХрд░реНрд╖рдг рдХреА рддрд░рд╣ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИ ...

@roji : рдЗрд╕рдХреЗ рд▓рд┐рдП рдзрдиреНрдпрд╡рд╛рдж ... рдЙрдВрдЧрд▓рд┐рдпрд╛рдВ рдкрд╛рд░ рд╣реЛ

@roji : рдореБрдЭреЗ рдЕрднреА рднреА рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдкрд░реАрдХреНрд╖рдг рдЪрд▓рд╛рдиреЗ рдореЗрдВ рдкрд░реЗрд╢рд╛рдиреА рд╣реЛ рд░рд╣реА рд╣реИ - рдХреНрдпрд╛ рдЖрдк рдЕрдкрдиреЗ рдкрд░реАрдХреНрд╖рдг рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдореЗрдВ рдЗрд╕реЗ рд▓рд┐рдВрдХ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ, рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП рдЕрдиреБрд╕рд░рдг рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП?

@jskeet рдЬрд╝рд░реВрд░, рдЖрдк рдпрд╣рд╛рдБ рдЬрд╛рдПрдБ :

@jskeet рдЖрдпрд╛рдд рдЖрдкрдХреЗ рд▓рд┐рдП рднреА рдХрд╛рдо рдХрд░рдирд╛ рдЪрд╛рд╣рд┐рдПред RC2 рдХреБрдЫ рдЪреАрдЬреЛрдВ рдХреЛ рдмрджрд▓рддрд╛ рд╣реИ, рдЗрд╕рд▓рд┐рдП рдореИрдВ рдЕрдкрдиреЗ рдмреНрд▓реЙрдЧ рдкреЛрд╕реНрдЯ рдХреЛ рдлрд┐рд░ рд╕реЗ рд▓рд┐рдЦреВрдВрдЧрд╛ рдХрд┐ рдХреИрд╕реЗ RC2 рдХреЛ рдзреНрдпрд╛рди рдореЗрдВ рд░рдЦрддреЗ рд╣реБрдП NUnit 3 рдХреЗ рд╕рд╛рде рдкрд░реАрдХреНрд╖рдг рдХрд┐рдпрд╛ рдЬрд╛рдП рдФрд░ рдХреЛрдб рдХреЛ GitHub рдкрд░ рдкреЛрд╕реНрдЯ рдХрд┐рдпрд╛ рдЬрд╛рдПред рдЬрдм рдпрд╣ рд╣реЛ рдЬрд╛рдПрдЧрд╛ рддреЛ рдореИрдВ рдпрд╣рд╛рдВ рдПрдХ рд▓рд┐рдВрдХ рдЬреЛрдбрд╝реВрдВрдЧрд╛, рдЙрдореНрдореАрдж рд╣реИ рдХрд┐ рдЖрдЬ рд╕реБрдмрд╣ (рдИрдПрд╕рдЯреА)ред

@piotrpMSFT рдХреНрдпрд╛ рдЖрдк рдореБрдЭреЗ рдХреБрдЫ рд╕рдордп рдмрдЪрд╛ рд╕рдХрддреЗ рд╣реИрдВ рдФрд░ рдореБрдЭреЗ dotnet-test-nunit рдмрдирд╛рдиреЗ рдХреЗ рд▓рд┐рдП рд╕рд╣рд╛рдпрдХ рдкреБрд╕реНрддрдХрд╛рд▓рдп рдореЗрдВ рдЗрдВрдЧрд┐рдд рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ? рдореИрдВ рдЦреЛрдЬ рд╕рдХрддрд╛ рд╣реВрдВ, рд▓реЗрдХрд┐рди рдореИрдВ рдЗрд╕ рд╕рдордп рдХрдИ рдЪреАрдЬреЛрдВ рдХрд╛ рдкреАрдЫрд╛ рдХрд░ рд░рд╣рд╛ рд╣реВрдВ рдЗрд╕рд▓рд┐рдП рдорджрдж рдХреА рд╕рд░рд╛рд╣рдирд╛ рдХреА рдЬрд╛рдПрдЧреАред рдореБрдЭреЗ рдпрдХреАрди рд╣реИ рдХрд┐ рдЖрдк рднреА рд╡реНрдпрд╕реНрдд рд╣реИрдВ, рдЗрд╕рд▓рд┐рдП рдпрджрд┐ рдЖрдкрдХреЗ рдкрд╛рд╕ рд╡рд╣ рдирд╣реАрдВ рд╣реИ, рддреЛ рдЙрд╕ рдкрд░ рд╕рдордп рди рд▓рдЧрд╛рдПрдВ, рдореИрдВ рдЗрд╕реЗ рдвреВрдВрдв рд▓реВрдВрдЧрд╛ред

рдореИрдВрдиреЗ рд░реБрдЪрд┐ рд░рдЦрдиреЗ рд╡рд╛рд▓реЗ рдХрд┐рд╕реА рднреА рд╡реНрдпрдХреНрддрд┐ рдХреЗ рд▓рд┐рдП NUnit 3 рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ .NET Core RC2 рдХрд╛ рдкрд░реАрдХреНрд╖рдг рдХрд░рддреЗ рд╣реБрдП рдПрдХ рдЕрджреНрдпрддрди рдмреНрд▓реЙрдЧ рдкреЛрд╕реНрдЯ рдкреЛрд╕реНрдЯ рдХрд┐рдпрд╛ рд╣реИред

@jskeet рдЖрдкрдХреЛ рдЕрдкрдиреЗ project.json рдореЗрдВ рдЖрдпрд╛рдд рд╡рд┐рд╡рд░рдг рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИред рдЗрд╕реЗ рдирдП .NET рдХреЛрд░ рдЯреЗрдореНрдкреНрд▓реЗрдЯ рдореЗрдВ рдбрд┐рдлрд╝реЙрд▓реНрдЯ рд░реВрдк рд╕реЗ рдЬреЛрдбрд╝рд╛ рдЬрд╛рддрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдЕрдкрдЧреНрд░реЗрдб рдХрд░рддреЗ рд╕рдордп рдЗрд╕реЗ рдЬреЛрдбрд╝рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрддреА рд╣реИред

рдПрдХ рдХрдВрд╕реЛрд▓ рд░рдирд░ рдореЗрдВ project.json рдХреЗ рд▓рд┐рдП;

  "frameworks": {
    "netcoreapp1.0": {
      "imports": "dnxcore50"
    }

рдпрд╛ рдПрдХ рд╕рднрд╛ рдореЗрдВ;

  "frameworks": {
    "netstandard1.5": {
      "imports": "dnxcore50"
    }

RC2 рдореЗрдВ рдЕрдкрдЧреНрд░реЗрдб рдХрд░рддреЗ рд╕рдордп, рдореЗрд░реЗ рд░рд╛рд╕реНрддреЗ рдореЗрдВ рдкреБрд░рд╛рдиреЗ DNX рд╕рд╛рдорд╛рди рдХрд╛ рд╣реЛрдирд╛ рднреА рдореБрдЭреЗ рдереЛрдбрд╝рд╛ рдкрд░реЗрд╢рд╛рди рдХрд░рддрд╛ рд╣реИред рдЬрд╛рдБрдЪ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХреБрдЫред

@rprouse : рдзрдиреНрдпрд╡рд╛рдж; рдЕрдм рдореИрдВ рдирд┐рд░реНрдорд╛рдг рдХрд░рдиреЗ рдореЗрдВ рд╕рдХреНрд╖рдо рд╣реВрдВ, рдФрд░ рдкрд░реАрдХреНрд╖рдг рд╡рд┐рдВрдбреЛрдЬрд╝ рдкрд░ рдЪрд▓рддреЗ рд╣реИрдВред рд▓рд┐рдирдХреНрд╕ рдкрд░ рдореБрдЭреЗ "рдСрдмреНрдЬреЗрдХреНрдЯ рд░реЗрдлрд░реЗрдВрд╕ рдХрд┐рд╕реА рдСрдмреНрдЬреЗрдХреНрдЯ рдХреЗ рдЗрдВрд╕реНрдЯреЗрдВрд╕ рдкрд░ рд╕реЗрдЯ рдирд╣реАрдВ рд╣реИ" рджрд┐рдЦрд╛рдИ рджреЗ рд░рд╣рд╛ рд╣реИред dotnet run рдкрд░ рд╕рдВрджреЗрд╢, рдЬрд┐рд╕рдХреА рдореБрдЭреЗ рдЖрдЧреЗ рдЬрд╛рдВрдЪ рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИред рдпрд╣ рджреЗрдЦрдиреЗ рдХреЗ рд▓рд┐рдП рдХрд┐ рдХреНрдпрд╛ рд╡рд╣реА рд╕рдорд╕реНрдпрд╛ рд╣реИ, рдпрд╣ рджреЗрдЦрдиреЗ рдХреЗ рд▓рд┐рдП рдЕрдкрдиреЗ рдиреНрдпреВрдирддрдо рдирдореВрдиреЗ рдХрд╛ рдкреНрд░рдпрд╛рд╕ рдХрд░реЗрдВрдЧреЗ ...

@jskeet , рд╣рдо рдмрд┐рдирд╛ рдХрд┐рд╕реА рд╕рдорд╕реНрдпрд╛ рдХреЗ рд╡рд┐рдВрдбреЛрдЬ рдФрд░ рд▓рд┐рдирдХреНрд╕ рджреЛрдиреЛрдВ рдкрд░ рдЗрд╕ рджреГрд╖реНрдЯрд┐рдХреЛрдг рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд░рд╣реЗ рд╣реИрдВред рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП рдпрд╣рд╛рдВ рдФрд░ рдпрд╣рд╛рдВ рджреЗрдЦреЗрдВред

@oschwald : рд╣рд╛рдБ, рдРрд╕рд╛ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ "рдСрдмреНрдЬреЗрдХреНрдЯ рд░реЗрдлрд░реЗрдВрд╕ рд╕реЗрдЯ рдирд╣реАрдВ рд╣реИ ..." рдирд┐рд░реНрднрд░рддрд╛ рдХреЗ рд╕рд╛рде рдПрдХ рдмрд╣реБрдд рд╣реА рдЕрд▓рдЧ рд╕рдорд╕реНрдпрд╛ рд╣реИред рдпрд╣ рд╢рд░реНрдо рдХреА рдмрд╛рдд рд╣реИ рдХрд┐ рддреНрд░реБрдЯрд┐ рд╕рдВрджреЗрд╢ рдЗрддрдирд╛ рдЕрдиреБрдкрдпреЛрдЧреА рд╣реИ (рдмрд┐рдирд╛ рд╕реНрдЯреИрдХ рдЯреНрд░реЗрд╕ рдХреЗ рднреА) - рдореИрдВ рдЗрд╕рдореЗрдВ рдЦреБрджрд╛рдИ рдХрд░ рд░рд╣рд╛ рд╣реВрдВред

@jskeet рдХреБрдЫ рдХрд╛рд░рдг рд╣реИрдВ, рдХреНрдпрд╛ рдпрд╣ рдЖрдкрдХрд╛ рд╣реИ? https://github.com/dotnet/cli/issues/3075

@NickCraver : рдирд╣реАрдВрдВ - рдореИрдВрдиреЗ рд╕рдлрд▓рддрд╛рдкреВрд░реНрд╡рдХ рдПрдХ рдбреЙрдЯрдиреЗрдЯ рдкреБрдирд░реНрд╕реНрдерд╛рдкрдирд╛ рдХрд┐рдпрд╛ рд╣реИред

рдореЗрд░реЗ рдорд╛рдорд▓реЗ рдореЗрдВ рдореЗрд░реЗ рдкрд╛рд╕ рдПрдХ рдкреНрд░реЛрдЬреЗрдХреНрдЯ.рдЬреЗрд╕рди рдлрд╝рд╛рдЗрд▓ рд╣реИ рдЬреЛ рдХрд┐рд╕реА рдЕрдиреНрдп рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдкрд░ рдирд┐рд░реНрднрд░рддрд╛ рдХреЗ рдмрд┐рдирд╛ рдХрд╛рдо рдХрд░рддреА рд╣реИ, рд▓реЗрдХрд┐рди рдЗрд╕рдХреЗ рд╕рд╛рде рд╡рд┐рдлрд▓ рд╣реЛ рдЬрд╛рддреА рд╣реИред рдореБрдЭреЗ рдкреВрд░реНрдг рд░реЗрдкреЛ рдХреЗ рд╕рд╛рде рдЖрдиреЗ рдореЗрдВ рдХреБрдЫ рдФрд░ рд╕рдордп рд▓рдЧрд╛рдиреЗ рдХреА рдЬрд░реВрд░рдд рд╣реИред

@jskeet Gotcha - рдкреНрд░рд╛рд╕рдВрдЧрд┐рдХ: https://github.com/dotnet/cli/issues/2469 рдФрд░ рд╕реНрд▓реИрдХ рдЪреИрдирд▓ project.json рд▓рд╛рдЗрд╡ рдбрд┐рдмрдЧ рдХреЗ рд▓рд┐рдП рдмрд╣реБрдд рдЕрдЪреНрдЫрд╛ рд╣реИ, рдЙрджрд╛рд╣рд░рдгреЛрдВ рдХреЗ рд╕рд╛рде рдбреНрд░реЙрдк рдЗрди рдХрд░реЗрдВ рдФрд░ рдЖрдк рдЖрдорддреМрд░ рдкрд░ рдмрд╣реБрдд рдЬрд▓реНрджреА рдЬрд╛ рд╕рдХрддреЗ рд╣реИрдВред рд╕реНрд▓реИрдХ рдХреЗ рд▓рд┐рдП, # рдЬрдирд░рд▓ рдФрд░ # рдбреЙрдЯрдиреЗрдЯ-рдХреЛрд░ рдЪреИрдирд▓ рдХрд╛рдлреА рд╕рдХреНрд░рд┐рдп рд╣реИрдВ, рдмрд╣реБрдд рд╕реЗ рд▓реЛрдЧ рдЗрд╕рд╕реЗ рдЧреБрдЬрд░ рд░рд╣реЗ рд╣реИрдВ рдФрд░ рдЕрдЧрд▓реЗ рд╡реНрдпрдХреНрддрд┐ рдХреА рдорджрдж рдХрд░ рд░рд╣реЗ рд╣реИрдВред

рд╣рдореНрдо ... рдФрд░ рдЕрдм рдпрд╣ рдХрд╛рдо рдХрд░ рд░рд╣рд╛ рд╣реИред рдпрд╣ рд╕рдВрднрд╡ рд╣реИ рдХрд┐ _was_ рд╡рд╣реА рд╕рдорд╕реНрдпрд╛ dotnet restore рдерд╛ред рд╡реИрд╕реЗ рднреА, рдореИрдВ рдЕрдм Linux рдкрд░ Noda Time рдкрд░реАрдХреНрд╖рдг рдЪрд▓рд╛ рд░рд╣рд╛ рд╣реВрдБ, рддреЛ рд╣рд╛рдБ :) рд╕рднреА рдХреЛ рдзрдиреНрдпрд╡рд╛рджред

@piotrpMSFT рдкреЙрдЗрдВрдЯрд░реНрд╕ рдХреЗ рд▓рд┐рдП рдореЗрд░рд╛ рдЕрдиреБрд░реЛрдз рдлрд┐рд░ рд╕реЗ, рдореБрдЭреЗ рдЕрдкрдиреА рдЬрд░реВрд░рдд рдХреА рд╣рд░ рдЪреАрдЬ рдорд┐рд▓ рдЧрдИ рд╣реИ рдФрд░ рдХрд╛рдо рд╢реБрд░реВ рдХрд░ рджрд┐рдпрд╛ рд╣реИред

рдореИрдВрдиреЗ dotnet-test-nunit рдзрд╛рд╡рдХ рдХреЗ рд▓рд┐рдП nunit/dotnet-test-nunit#1 рдкрд░ рдПрдХ рдкреНрд░рд╛рд░рдВрднрд┐рдХ рдкреАрдЖрд░ рдЬреЛрдбрд╝рд╛ рд╣реИ

рдпрд╣ рдЬрд╛рдВрдЪ рдХрд░рддрд╛ рд╣реИ рдФрд░ рдкрд░реАрдХреНрд╖рдг рдЪрд▓рд╛рддрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдЕрднреА рднреА рдХреБрдЫ рдХрд╛рдо, рд╕рдлрд╛рдИ рдФрд░ рдкрд░реАрдХреНрд╖рдг рдХреА рдЬрд░реВрд░рдд рд╣реИред рдЕрдЧрд░ рдХреЛрдИ рдЗрд╕рдХреЗ рд╕рд╛рде рдЦреЗрд▓рдирд╛ рдЪрд╛рд╣рддрд╛ рд╣реИ рддреЛ рдореИрдВ рдмрд┐рд▓реНрдб рдХрд▓рд╛рдХреГрддрд┐рдпреЛрдВ рдХреЗ рд▓рд┐рдП NuGet рдлрд╝реАрдб рдХреЛ рдФрд░ рдЕрдзрд┐рдХ рд╕реБрд▓рдн рдмрдирд╛ рджреВрдВрдЧрд╛ред

рдЕрдЧрд░ рдХрд┐рд╕реА рдХреЗ рдкрд╛рд╕ рд╡рд┐рдЬреБрдЕрд▓ рд╕реНрдЯреВрдбрд┐рдпреЛ рджреНрд╡рд╛рд░рд╛ рд▓реЛрдб рд╣реЛрдиреЗ рдкрд░ NuGet рдкреИрдХреЗрдЬ рдХреЛ рдбреАрдмрдЧ рдХрд░рдиреЗ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдХреЛрдИ рд╡рд┐рдЪрд╛рд░ рд╣реИ, рддреЛ рдореИрдВ рдХреБрдЫ рдорджрдж рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд╕рдХрддрд╛ рд╣реВрдВред рдЕрдм рддрдХ, рдпрд╣ рд╡рд┐рдЬреБрдЕрд▓ рд╕реНрдЯреВрдбрд┐рдпреЛ рдореЗрдВ рдирд╣реАрдВ рдЪрд▓ рд░рд╣рд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдпрд╣ рдПрдХ рд╕реЗрдЯрдЕрдк рд╕рдорд╕реНрдпрд╛ рд╣реЛ рд╕рдХрддреА рд╣реИред

@rprouse : рдореБрдЭреЗ рдпрд╣ рджреЗрдЦрдХрд░ рдЦреБрд╢реА рд╣реЛрдЧреА рдХрд┐ рдХреИрд╕реЗ Noda Time рдЗрд╕рдХрд╛ рдореБрдХрд╛рдмрд▓рд╛ рдХрд░рддрд╛ рд╣реИ, рдЕрдЧрд░ рдпрд╣ рдЙрдкрдпреЛрдЧреА рд╣реЛрдЧрд╛ред рдореБрдЭреЗ рдмрддрд╛рдПрдВ рдХрд┐ рдХреНрдпрд╛ рдХреБрдЫ рд╡рд┐рд╢реЗрд╖ рд░реВрдк рд╕реЗ рдЖрдк рдЪрд╛рд╣рддреЗ рд╣реИрдВ рдХрд┐ рдореИрдВ рдЪреЗрдХ рдЖрдЙрдЯ рдХрд░реВрдВред рдЖрдкрдХреЗ рд╕рднреА рдХрд╛рд░реНрдпреЛрдВ рдХреЗ рд▓рд┐рдП рдзрдиреНрдпрд╡рд╛рдж!

рдпрд╣ рдЕрднреА рддрдХ рдкреНрд░рд╛рдЗрдо рдЯрд╛рдЗрдо рдХреЗ рд▓рд┐рдП рддреИрдпрд╛рд░ рдирд╣реАрдВ рд╣реИ, рд▓реЗрдХрд┐рди рдореЗрд░реЗ рдкрд╛рд╕ рдХрдВрд╕реЛрд▓ рдФрд░ рд╡рд┐рдЬреБрдЕрд▓ рд╕реНрдЯреВрдбрд┐рдпреЛ рдореЗрдВ NUnit .NET рдХреЛрд░ рдкрд░реАрдХреНрд╖рдг рдЪрд▓ рд░рд╣реЗ рд╣реИрдВред рдЕрд▓реНрдлрд╛ рдЖрдЙрдЯ рд╣реЛрдиреЗ рд╕реЗ рдкрд╣рд▓реЗ рдЕрднреА рднреА рдХрдИ рдореБрджреНрджреЛрдВ рдХреЛ рд╣рд▓ рдХрд░рдирд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдЕрдм рд╣рдо рдмрд╣реБрдд рдХрд░реАрдм рд╣реИрдВ рдХреНрдпреЛрдВрдХрд┐ рдХрдбрд╝реА рдореЗрд╣рдирдд рдХреА рдЬрд╛рддреА рд╣реИ рдФрд░ рдпрд╣ рд╡рд┐рд╡рд░рдг рдХреЗ рд▓рд┐рдП рдиреАрдЪреЗ рд╣реИред

рдореИрдВ рдХреБрдЫ рдореБрджреНрджреЛрдВ рдХреЛ рдареАрдХ рдХрд░рдиреЗ рдХреЗ рдмрд╛рдж рд╕реАрдЖрдИ рдмрд┐рд▓реНрдб рдХреЗ рд╕рд╛рде рдкрд░реАрдХреНрд╖рдг рдХрд░рдиреЗ рдХреЗ рддрд░реАрдХреЗ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рд╡рд┐рд╡рд░рдг рдкреЛрд╕реНрдЯ рдХрд░реВрдВрдЧрд╛ред рдореИрдВ рдЗрд╕рдХреА рд╕рд░рд╛рд╣рдирд╛ рдХрд░реВрдВрдЧрд╛ рдпрджрд┐ рд▓реЛрдЧ рдЯрд╛рдпрд░реЛрдВ рдХреЛ рд▓рд╛рдд рдорд╛рд░ рд╕рдХреЗрдВ рдФрд░ рдореБрдЭреЗ рд╕рдорд╕реНрдпрд╛рдУрдВ рдХрд╛ рдкрддрд╛ рд▓рдЧрд╛рдиреЗ рдореЗрдВ рдорджрдж рдХрд░ рд╕рдХреЗрдВред

рдпрд╣рд╛рдБ рдПрдХ рд╕реНрдХреНрд░реАрдирд╢реЙрдЯ рд╣реИред

image

@rprouse : рд╕реАрдЖрдИ рдирд┐рд░реНрдорд╛рдг рдкрд░ рдХреЛрдИ рдкреНрд░рдЧрддрд┐? рдирд┐рд╢реНрдЪрд┐рдд рд░реВрдк рд╕реЗ рдЯрд╛рдпрд░реЛрдВ рдХреЛ рд▓рд╛рдд рдорд╛рд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЙрддреНрд╕реБрдХ; Noda Time NUnit рд╕реБрд╡рд┐рдзрд╛рдУрдВ рдХреА рдПрдХ _reasonable_ рд╕рдВрдЦреНрдпрд╛ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддрд╛ рд╣реИ, рдЗрд╕рд▓рд┐рдП рдпрд╣ рдПрдХ рдЕрдЪреНрдЫреА рд╢реБрд░реБрдЖрдд рд╣реЛрдиреА рдЪрд╛рд╣рд┐рдП, рд╡реИрд╕реЗ рднреАред рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рд╡реАрдПрд╕ рдореЗрдВ рдлрд┐рд░ рд╕реЗ рдкрд░реАрдХреНрд╖рдг рдЪрд▓рд╛рдиреЗ рдореЗрдВ рд╕рдХреНрд╖рдо рд╣реЛрдиреЗ рдХреА рдЙрдореНрдореАрдж рд╣реИред (рдЖрд╢рд╛ рд╣реИ рдХрд┐ рд░реЛрд╕рд▓рд┐рди рдХреЗ рд▓рд┐рдП рдПрдирдХреНрд░рдВрдЪ рдФрд░ рдХреЛрдбрд░рд╢ рдЗрд╕рдХреЗ рдмрд╛рд╣рд░ рд╣реЛрдиреЗ рдХреЗ рдмрд╛рдж рднреА рдЗрд╕рдХрд╛ рд╕рдорд░реНрдерди рдХрд░рдирд╛ рд╢реБрд░реВ рдХрд░ рджреЗрдВрдЧреЗ...)

@jskeet рдФрд░ рдЕрдиреНрдп рдЬреЛ рдЯрд╛рдпрд░реЛрдВ рдХреЛ рд▓рд╛рдд рдорд╛рд░рдиреЗ рдореЗрдВ рд░реБрдЪрд┐ рд░рдЦрддреЗ рд╣реИрдВ рдФрд░ рдЕрд▓реНрдлрд╛ рд░рд┐рд▓реАрдЬ рдХрд░рдиреЗ рд╕реЗ рдкрд╣рд▓реЗ рдореБрдЭреЗ рдкрд░реАрдХреНрд╖рдг рдореЗрдВ рдорджрдж рдХрд░рддреЗ рд╣реИрдВ, рдореИрдВрдиреЗ рдирдП dotnet-test-nunit рд░рдирд░ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП dotnet-test-nunit рд╢рд╛рдЦрд╛ рдкрд░ рдЕрдкрдирд╛ рдбреЗрдореЛ рд░рд┐рдкреЛрдЬрд┐рдЯрд░реА рдЕрдкрдбреЗрдЯ рдХрд┐рдпрд╛ рд╣реИ ред

рдХреГрдкрдпрд╛ рдиреВрдирд┐рдЯ/рдбреЙрдЯрдиреЗрдЯ-рдЯреЗрд╕реНрдЯ-рдирдирд┐рдЯ рд░реЗрдкреЛ рдореЗрдВ рд╕рдорд╕реНрдпрд╛рдУрдВ рдХреА рд░рд┐рдкреЛрд░реНрдЯ рдХрд░реЗрдВред

рдЙрдЪреНрдЪ рд╕реНрддрд░реАрдп рдирд┐рд░реНрджреЗрд╢ рд╣реИрдВ;

рдЕрдкрдбреЗрдЯ: dotnet-test-nunit рдЕрдм NuGet рдкрд░ рдЕрд▓реНрдлрд╛ рдХреЗ рд░реВрдк рдореЗрдВ рдЙрдкрд▓рдмреНрдз рд╣реИ, Include prereleases ред рдЕрдм рдЖрдкрдХреЛ рдЕрдкрдиреА nuget.config рдлрд╝рд╛рдЗрд▓ рдХреЛ рдЕрдкрдбреЗрдЯ рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдирд╣реАрдВ рд╣реИред

dotnet-test-nunit рдЕрднреА рднреА рд╡рд┐рдХрд╛рд╕ рдХреЗ рдЕрдзреАрди рд╣реИ, рдЗрд╕рд▓рд┐рдП рдЖрдкрдХреЛ NUnit CI NuGet рдлрд╝реАрдб рд╕реЗ NuGet рдкреИрдХреЗрдЬ рдбрд╛рдЙрдирд▓реЛрдб рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЕрдкрдиреЗ рд╕рдорд╛рдзрд╛рди рдореЗрдВ рдПрдХ NuGet.Config рдлрд╝рд╛рдЗрд▓ рдЬреЛрдбрд╝рдиреА рд╣реЛрдЧреАред

рдЖрдкрдХреЗ рдкрд░реАрдХреНрд╖рдг рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдореЗрдВ рдЖрдкрдХрд╛ project.json рдирд┐рдореНрди рдЬреИрд╕рд╛ рджрд┐рдЦрдирд╛ рдЪрд╛рд╣рд┐рдП;

рдкреНрд░реЛрдЬреЗрдХреНрдЯ.рдЬреЗрд╕рди

{
    "version": "1.0.0-*",

    "dependencies": {
        "NUnitWithDotNetCoreRC2": "1.0.0-*",
        "NETStandard.Library": "1.5.0-rc2-24027",
        "NUnit": "3.2.1",
        "dotnet-test-nunit": "3.4.0-alpha-1"
    },
    "testRunner": "nunit",

    "frameworks": {
        "netstandard1.5": {
            "imports": [
                "dnxcore50",
                "netcoreapp1.0",
                "portable-net45+win8"
            ]
        }
    },

    "runtimes": {
        "win10-x86": { },
        "win10-x64": { }
    }
}

рдпрд╣рд╛рдВ рд░реБрдЪрд┐ рдХреА рд░реЗрдЦрд╛рдПрдВ dotnet-test-nunit рдкрд░ рдирд┐рд░реНрднрд░рддрд╛ рд╣реИрдВред рдирд╡реАрдирддрдо рдкреВрд░реНрд╡-рд░рд┐рд▓реАрдЬрд╝ рд╕рдВрд╕реНрдХрд░рдг рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд╕реНрд╡рддрдВрддреНрд░ рдорд╣рд╕реВрд╕ рдХрд░реЗрдВ рдЬреЛ -CI рдореЗрдВ рд╕рдорд╛рдкреНрдд рд╣реЛрддрд╛ рд╣реИ, рдЬреЛ рдХрд┐ рдорд╛рд╕реНрдЯрд░ рд╢рд╛рдЦрд╛ рд╕реЗ рдирд╡реАрдирддрдо рд╣реИред рдзреНрдпрд╛рди рджреЗрдВ рдХрд┐ NUnitWithDotNetCoreRC2 рдирд┐рд░реНрднрд░рддрд╛ рдкрд░реАрдХреНрд╖рдгрд╛рдзреАрди рдкрд░рд┐рдпреЛрдЬрдирд╛ рд╣реИред

рдореИрдВрдиреЗ NUnit 3 рдХреЛ рдкрд░реАрдХреНрд╖рдг рдЕрдиреБрдХреВрд▓рдХ рдХреЗ рд░реВрдк рдореЗрдВ рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП "testRunner": "nunit" рдЬреЛрдбрд╝рд╛ рд╣реИред рдореБрдЭреЗ рдкрд░реАрдХреНрд╖рдг рдПрдбрд╛рдкреНрдЯрд░ рдФрд░ рдПрдирдпреВрдиреАрдЯ рджреЛрдиреЛрдВ рдХреЛ рд╣рд▓ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЖрдпрд╛рдд рдореЗрдВ рднреА рдЬреЛрдбрд╝рдирд╛ рдкрдбрд╝рд╛ред рдЕрдВрдд рдореЗрдВ, рдореБрдЭреЗ runtimes рдЬреЛрдбрд╝рдирд╛ рдкрдбрд╝рд╛ред рдЕрдЧрд░ рдХреЛрдИ рд╕рдордЭрд╛ рд╕рдХрддрд╛ рд╣реИ рдХрд┐ рдореБрдЭреЗ рдРрд╕рд╛ рдХрд░рдиреЗ рдХреА рдЬрд╝рд░реВрд░рдд рдХреНрдпреЛрдВ рд╣реИ, рддреЛ рдХреГрдкрдпрд╛ рдореБрдЭреЗ рдмрддрд╛рдПрдВред

рдЕрдм рдЖрдк рд╡рд┐рдЬреБрдЕрд▓ рд╕реНрдЯреВрдбрд┐рдпреЛ рдЯреЗрд╕реНрдЯ рдПрдХреНрд╕рдкреНрд▓реЛрд░рд░ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдпрд╛ рдХрдорд╛рдВрдб рд▓рд╛рдЗрди рд╕реЗ dotnet test рдЪрд▓рд╛рдХрд░ рдЕрдкрдиреЗ рдкрд░реАрдХреНрд╖рдг рдЪрд▓рд╛ рд╕рдХрддреЗ рд╣реИрдВред

# Restore the NuGet packages
dotnet restore

# Run the unit tests in the current directory
dotnet test

# Run the unit tests in a different directory
dotnet test .\test\NUnitWithDotNetCoreRC2.Test\

рдЪреЗрддрд╛рд╡рдиреА

рдЬреИрд╕рд╛ рдХрд┐ рдореИрдВрдиреЗ рдХрд╣рд╛, рдпрд╣ рдЕрднреА рднреА рд╡рд┐рдХрд╛рд╕ рдХреЗ рдЕрдзреАрди рд╣реИред рдКрдкрд░ рд╕реВрдЪреАрдмрджреНрдз dotnet-test-nunit рд╕рдВрд╕реНрдХрд░рдг 3.3.0.39-CI рдореЗрдВ рдПрдХ рдмрдЧ рд╣реИ рдЬрд╣рд╛рдВ рдпрд╣ TestResult.xml рдлрд╝рд╛рдЗрд▓ рдХреЛ рд╕рд╣реЗрдЬрдиреЗ рдХрд╛ рдкреНрд░рдпрд╛рд╕ рдХрд░рдиреЗ рдкрд░ ArgumentException рдлреЗрдВрдХ рджреЗрдЧрд╛ред

рдпрд╣ рднреА рдзреНрдпрд╛рди рджреЗрдВ рдХрд┐ dotnet рдХрдорд╛рдВрдб рд▓рд╛рдЗрди рдЦрд╛рд▓реА рд▓рд╛рдЗрдиреЛрдВ рдХреЛ рдирд┐рдЧрд▓ рдЬрд╛рддреА рд╣реИ рдФрд░ рд░рдВрдЧ рдХреЗ рд╕рд╛рде рдХрд╛рдо рдирд╣реАрдВ рдХрд░рддреА рд╣реИред NUnit рдкрд░реАрдХреНрд╖рдг рдзрд╛рд╡рдХ рдХрд╛ рдЖрдЙрдЯрдкреБрдЯ рд░рдВрдЧ рдореЗрдВ рд╣реИ, рд▓реЗрдХрд┐рди рдЖрдк рдЗрд╕реЗ рдирд╣реАрдВ рджреЗрдЦ рдкрд╛рдПрдВрдЧреЗред

"рд░рд┐рдХреНрдд рд░реЗрдЦрд╛ рдирд┐рдЧрд▓рдиреЗ" рднрд╛рдЧ рдПрдХ рдЬреНрдЮрд╛рдд рдмрдЧ рд╣реИ: https://github.com/dotnet/cli/issues/2234

@jskeet рд▓рд┐рдВрдХ рдХреЗ рд▓рд┐рдП рдзрдиреНрдпрд╡рд╛рдж, рдРрд╕рд╛ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рд░рдВрдЧ рднреА рдПрдХ рдЬреНрдЮрд╛рдд рдмрдЧ рд╣реИ, dotnet/cli#1977

ArgumentException рдХреЛ 3.3.0.49-CI рдореЗрдВ рддрдп рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИред рдореИрдВ рдКрдкрд░ рджрд┐рдП рдЧрдП рдЕрдкрдиреЗ рдирд┐рд░реНрджреЗрд╢реЛрдВ рдХреЛ рдлрд┐рдХреНрд╕ рдХреЗ рд╕рд╛рде рдЕрдкрдбреЗрдЯ рдХрд░реВрдВрдЧрд╛ред рдПрдХ рдЕрдиреНрдп рдмрдХрд╛рдпрд╛ рдореБрджреНрджрд╛ рдпрд╣ рд╣реИ рдХрд┐ рдореИрдВ рд╡рд░реНрддрдорд╛рди рдореЗрдВ рдзрд╛рд╡рдХ рдХреЛ рдкрд░реАрдХреНрд╖рдг рдХреЗ рд▓рд┐рдП рд▓рд╛рдЗрди рдирдВрдмрд░ рдХреА рдЖрдкреВрд░реНрддрд┐ рдирд╣реАрдВ рдХрд░ рд░рд╣рд╛ рд╣реВрдВ, рдЗрд╕рд▓рд┐рдП рд╡рд┐рдЬреБрдЕрд▓ рд╕реНрдЯреВрдбрд┐рдпреЛ рдЯреЗрд╕реНрдЯ рдПрдХреНрд╕рдкреНрд▓реЛрд░рд░ рдореЗрдВ рдкрд░реАрдХреНрд╖рдгреЛрдВ рдкрд░ рдХреНрд▓рд┐рдХ рдХрд░рдиреЗ рд╕реЗ рдЖрдк рдХреЛрдб рдкрд░ рдирд╣реАрдВ рдкрд╣реБрдВрдЪреЗрдВрдЧреЗред

рдХреНрдпрд╛ рдореИрдВ рдпрд╣ рдХрд╣рдиреЗ рдореЗрдВ рд╕рд╣реА рд╣реВрдВ рдХрд┐ рдЕрднреА рддрдХ рдХреЛрдИ рдХрдорд╛рдВрдб рд▓рд╛рдЗрди рддрд░реНрдХ рд╕рдорд░реНрдерди рдирд╣реАрдВ рд╣реИ, рдЬреИрд╕реЗ --where рдЖрджрд┐? (рдореИрдВ рдкреВрд░реА рддрд░рд╣ рд╕реЗ рд╕рдордЭрддрд╛ рд╣реВрдВ рдХрд┐ рдпрд╣ рд╢реБрд░реБрдЖрддреА рджрд┐рди рд╣реИ - рдмрд╕ рдпрд╣ рдЬрд╛рдВрдЪрдиреЗ рдХреА рдХреЛрд╢рд┐рд╢ рдХрд░ рд░рд╣рд╛ рд╣реВрдВ рдХрд┐ рдХреНрдпрд╛ рдпрд╣ рдРрд╕рд╛ рдХреБрдЫ рд╣реИ рдЬреЛ рдореБрдЭреЗ рдХрд░рдиреЗ рдореЗрдВ рд╕рдХреНрд╖рдо рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдПред)

рдореИрдВрдиреЗ рдЖрдкрд╕реЗ рдХреБрдЫ рдЕрд▓рдЧ project.json рдХреА рдХреЛрд╢рд┐рд╢ рдХреА рд╣реИред рдореИрдВрдиреЗ рдЗрд╕реЗ рд╢рдмреНрджрд╢рдГ рдиреАрдЪреЗ рд╢рд╛рдорд┐рд▓ рдХрд┐рдпрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдорд╣рддреНрд╡рдкреВрд░реНрдг рдЕрдВрддрд░ рд╣реИрдВ:

  • рдореИрдВ рдбреЗрд╕реНрдХрдЯреЙрдк рд░рдирдЯрд╛рдЗрдо рдХрд╛ рднреА рдкрд░реАрдХреНрд╖рдг рдХрд░рдирд╛ рдЪрд╛рд╣рддрд╛ рд╣реВрдВ, рдЗрд╕рд▓рд┐рдП рдореЗрд░реЗ рдкрд╛рд╕ рджреЛ рдлреНрд░реЗрдорд╡рд░реНрдХ рд▓рдХреНрд╖реНрдп рд╣реИрдВ
  • рдореИрдВ рдЙрдкрдпреЛрдЧ рдХрд░ рд░рд╣рд╛ рд╣реВрдБ netcoreapp1.0 рдХреЗ рдмрдЬрд╛рдп netstandard1.5
  • рдореИрдВрдиреЗ Microsoft.NETCore.App рдирд┐рд░реНрднрд░рддрд╛ рдХреЛ рд╢рд╛рдорд┐рд▓ рдХрд┐рдпрд╛ рд╣реИ, "type"="platform"
  • рджреЗрдЦреЛ рдорд╛, рдХреЛрдИ рд░рдирдЯрд╛рдЗрдо рд╕реЗрдХреНрд╢рди рдирд╣реАрдВред (рд╕рдВрднрд╡рддрдГ рдЙрдкрд░реЛрдХреНрдд рдореЗрдВ рд╕реЗ рдХреБрдЫ рдкрд░рд┐рд╡рд░реНрддрдиреЛрдВ рдХреЗ рдХрд╛рд░рдг...)
{
  "buildOptions": {
    "keyFile": "../../NodaTime Release.snk",
    "embed": {
      "include":  [   
        "TestData/*"
      ]
    }
  },

  "configurations": {
    "Debug": {
      "buildOptions": {
        "define": [ "DEBUG", "TRACE" ]
      }
    },
    "Release": {
      "buildOptions": {
        "define": [ "RELEASE", "TRACE" ],
        "optimize": true
      }
    }
  },

  "dependencies": {
    "NodaTime": { "target": "project" },
    "NodaTime.Testing": { "target": "project" },
    "NUnit": "3.2.1",
    "dotnet-test-nunit": "3.3.0.49-CI",
    "Microsoft.CSharp": "4.0.1-rc2-24027",
    "System.Dynamic.Runtime": "4.0.11-rc2-24027",
    "System.Reflection.Extensions": "4.0.1-rc2-24027",
    "System.Xml.XDocument": "4.0.11-rc2-24027"
  },

  "testRunner": "nunit",

  "frameworks": {
    "net451": {
      "frameworkAssemblies": {
        "System.Runtime": "",
        "System.Threading.Tasks": "",
        "System.Xml.Linq": ""
      }
    },
    "netcoreapp1.0": {
      "imports" : [ "dnxcore50", "netcoreapp1.0", "portable-net45+win8" ],
      "buildOptions": {
        "define": [ "PCL" ]
      },
      "dependencies": {
        "Microsoft.NETCore.App": { 
          "version": "1.0.0-rc2-3002702",
          "type": "platform"
        },
        "System.Console": "4.0.0-rc2-24027",
      }
    }
  }
}

рдирддреАрдЬрд╛:

Test Count: 15141, Passed: 15141, Failed: 0, Inconclusive: 0, Skipped: 0

рд╡реВрдЯред (рдиреЗрдЯ 451 рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдореБрдЭреЗ 15646 рдХреА рдкрд░реАрдХреНрд╖рдг рд╕рдВрдЦреНрдпрд╛ рдорд┐рд▓рддреА рд╣реИ, рдЬреЛ рдХрд┐ рдореИрдВ рдЕрдкреЗрдХреНрд╖рд╛ рдХрд░рддрд╛ рд╣реВрдВред)

рдЕрдЧрд▓рд╛: рд▓рд┐рдирдХреНрд╕ рдорд╢реАрди рдкрд░ рдПрдХ рд╣реА рдЪреАрдЬрд╝ рдХреА рдХреЛрд╢рд┐рд╢ рдХрд░рдирд╛ (рдЬрд╣рд╛рдВ рдЖрдкрдХрд╛ рдкреНрд░реЛрдЬреЗрдХреНрдЯ.рдЬреЗрд╕рди рд╕рдВрднрд╡рддрдГ рд╕рдВрд╢реЛрдзрди рдХреЗ рдмрд┐рдирд╛ рдХрд╛рдо рдирд╣реАрдВ рдХрд░реЗрдЧрд╛ рдХреНрдпреЛрдВрдХрд┐ рдЗрд╕рдореЗрдВ рд▓рд┐рдирдХреНрд╕ рдХрд╛ рдЙрд▓реНрд▓реЗрдЦ рдирд╣реАрдВ рд╣реИ, рд▓реЗрдХрд┐рди рдореБрдЭреЗ, рд╕рд┐рджреНрдзрд╛рдВрдд рд░реВрдк рдореЗрдВ, рдпрд╣ рдХрд╣рдирд╛ рдЪрд╛рд╣рд┐рдП рдХрд┐, рдпрд╣ рдПрдХ рдЙрдмрдВрдЯреВ 16.04 рдорд╢реАрди рд╣реИ, рдЗрд╕рд▓рд┐рдП рдЗрд╕рдХреА рдбреЙрдЯрдиреЗрдЯ рд╕реАрдПрд▓рдЖрдИ рдХреБрдЫ рд╣рдж рддрдХ рдПрдХ рд╕рд╛рде рдЬреБрдбрд╝рд╛ рд╣реБрдЖ рд╣реИ)ред

рд╣рдореНрдоред 100% CPU рдЦрд╛рдиреЗ рдХреЗ 14 рдорд┐рдирдЯ рдмрд╛рдж рднреА Linux рдкрд░ рдкрд░реАрдХреНрд╖рдг рд╕рдорд╛рдкреНрдд рдирд╣реАрдВ рд╣реБрдП рдереЗред рд╡рд╣рд╛рдВ рдХреНрдпрд╛ рд╣реЛ рд░рд╣рд╛ рд╣реИ, рдЗрд╕реЗ рдФрд░ рдХрд░реАрдм рд╕реЗ рджреЗрдЦрдиреЗ рдХреА рдЬрд░реВрд░рдд рд╣реЛрдЧреАред

@jskeet

рдХреНрдпрд╛ рдореИрдВ рдпрд╣ рдХрд╣рдиреЗ рдореЗрдВ рд╕рд╣реА рд╣реВрдВ рдХрд┐ рдЕрднреА рддрдХ рдХреЛрдИ рдХрдорд╛рдВрдб рд▓рд╛рдЗрди рддрд░реНрдХ рд╕рдорд░реНрдерди рдирд╣реАрдВ рд╣реИ, рдЬреИрд╕реЗ - рдХрд╣рд╛рдВ рдЖрджрд┐?

рдЦрд░рд╛рдм рдкрд░реАрдХреНрд╖рдг рдХрд┐рдпрд╛ рдЧрдпрд╛, рд▓реЗрдХрд┐рди рдореИрдВрдиреЗ --where рдФрд░ рдЕрдзрд┐рдХрд╛рдВрд╢ рд╕рд╛рдорд╛рдиреНрдп рдХрдорд╛рдВрдб рд▓рд╛рдЗрди рдорд╛рдкрджрдВрдбреЛрдВ рдХреЛ рддрд╛рд░-рддрд╛рд░ рдХрд░ рджрд┐рдпрд╛ рд╣реИред рдореЗрд░реЗ рдкрд╛рд╕ рдЕрднреА рднреА рдПрдХ рд╕рдорд╕реНрдпрд╛ рд╣реИ, nunit/dotnet-test-nunit#4 рдпрд╣ рдЬрд╛рдВрдЪрдиреЗ рдХреЗ рд▓рд┐рдП рдХрд┐ рд╡реЗ рд╕рднреА рдареАрдХ рд╕реЗ рд╡рд╛рдпрд░реНрдб рд╣реИрдВ рдФрд░ рдХрд╛рдо рдХрд░рддреЗ рд╣реИрдВ рдФрд░ рдЬреЛ рдХреБрдЫ рднреА рдЧрд╛рдпрдм рд╣реЛ рд╕рдХрддрд╛ рд╣реИ рдЙрд╕реЗ рдЬреЛрдбрд╝реЗрдВред рдЕрдм рддрдХ, рдореИрдВрдиреЗ рдмрд╣реБрддреЛрдВ рдХрд╛ рдкрд░реАрдХреНрд╖рдг рдирд╣реАрдВ рдХрд┐рдпрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдореИрдВрдиреЗ рдХреБрдЫ рдХрд╛ рдЙрдкрдпреЛрдЧ dotnet рдХрдорд╛рдВрдб рдХреЗ рдЕрдВрдд рдореЗрдВ рдЬреЛрдбрд╝рдХрд░ рдХрд┐рдпрд╛ рд╣реИред рдореБрдЭреЗ рдЕрднреА рднреА рдпрд╣ рдкрддрд╛ рд▓рдЧрд╛рдиреЗ рдХреА рдЬрд░реВрд░рдд рд╣реИ рдХрд┐ рдпрд╣ рдХреИрд╕реЗ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИред рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, --debug рдХрдорд╛рдВрдб рд▓рд╛рдЗрди рд╡рд┐рдХрд▓реНрдк dotnet-test-nunit рд╕рдорд╛рдзрд╛рди рд╕реЗ рдареАрдХ рдХрд╛рдо рдХрд░ рд░рд╣рд╛ рдерд╛, рд▓реЗрдХрд┐рди рдЬрдм рдореИрдВ рдЗрд╕реЗ рдЕрдкрдиреЗ рдкрд░реАрдХреНрд╖рдг рд╕рдорд╛рдзрд╛рди рд╕реЗ рдЪрд▓рд╛рддрд╛ рд╣реВрдВ рддреЛ рдпрд╣ dotnet-test Error: 0 : Microsoft.DotNet.Cli.Utils.CommandUnknownException: No executable found matching command "dotnet-test-" рдлреЗрдВрдХрддрд╛ рд╣реИред рдореБрдЭреЗ рдпрд╣ рднреА рдкрддрд╛ рдирд╣реАрдВ рд╣реИ рдХрд┐ рд╕рд╣рд╛рдпрддрд╛ рдХрдорд╛рдВрдб рд▓рд╛рдЗрди рдХреЛ рд╣рдорд╛рд░реЗ рд▓рд┐рдП рдХреИрд╕реЗ рд╢реНрд░реГрдВрдЦрд▓рд╛рдмрджреНрдз рдХрд┐рдпрд╛ рдЬрд╛рдП рддрд╛рдХрд┐ рдпрд╣ рджрд┐рдЦрд╛рдпрд╛ рдЬрд╛ рд╕рдХреЗ рдХрд┐ рдХреНрдпрд╛ рд╕рдорд░реНрдерд┐рдд рд╣реИред

рдЗрд╕ рдмреАрдЪ, рдЖрдк https://github.com/nunit/dotnet-test-nunit/blob/master/src/dotnet-test-nunit/CommandLineOptions.cs рдкрд░ рдПрдХ рдирдЬрд╝рд░ рдбрд╛рд▓ рд╕рдХрддреЗ рд╣реИрдВ рдпрд╣ рджреЗрдЦрдиреЗ рдХреЗ рд▓рд┐рдП рдХрд┐ рдореЗрд░реЗ рд╡рд┐рдЪрд╛рд░ рд╕реЗ рдХреМрди рд╕реЗ рдХрдорд╛рдВрдб рд▓рд╛рдЗрди рд╡рд┐рдХрд▓реНрдк рд╣реИрдВ рд╕рдорд░реНрдерд┐рдд: рдореБрд╕реНрдХрд╛рди:

рдЖрд╣, рд╣рд╛рдБ - рдРрд╕рд╛ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ dotnet test рдореЗрдВ dotnet run рдХреЗ рд╕рдорд╛рди рд╕реБрд╡рд┐рдзрд╛ рдирд╣реАрдВ рд╣реИ, рддрд╛рдХрд┐ рддрд░реНрдХреЛрдВ рдХреЛ рдкрд░реАрдХреНрд╖рдг рдврд╛рдВрдЪреЗ рд╕реЗ dotnet test рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХреЗред рдореИрдВ рдХреЛрд╢рд┐рд╢ рдХрд░ рд░рд╣рд╛ рдерд╛

dotnet test -- --help

рддрдерд╛

dotnet test -- --where=cat!=Slow

рдмрд╕ рдкреНрд░рдпреЛрдЧ

dotnet test --where=cat!=Slow

рдареАрдХ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИред рдЗрд╕рдХреЗ рд▓рд┐рдП рдПрдХ рдлреАрдЪрд░ рдЕрдиреБрд░реЛрдз рджрд░реНрдЬ рдХрд░реЗрдВрдЧреЗ - рдкреВрд░реА рддрд░рд╣ рд╕реЗ рд╕реНрдкрд╖реНрдЯ рд╣реЛрдиреЗ рдореЗрдВ рд╕рдХреНрд╖рдо рд╣реЛрдирд╛ рдЕрдЪреНрдЫрд╛ рд╣реИред

рдкрд░реАрдХреНрд╖рдгреЛрдВ рдкрд░ рдХреНрд▓рд┐рдХ рдХрд░рдирд╛ рдФрд░ рдХреЛрдб рдкрд░ рдиреЗрд╡рд┐рдЧреЗрдЯ рдХрд░рдирд╛ рдЕрдм 3.3.0.60-CI рдореЗрдВ рддрдп рд╣реЛ рдЧрдпрд╛ рд╣реИред

рдЕрднреА рднреА рджреЛ рдЙрдЪреНрдЪ рдкреНрд░рд╛рдердорд┐рдХрддрд╛ рд╡рд╛рд▓реЗ рдореБрджреНрджреЗ рд╣реИрдВ, рдлрд┐рд░ рдореИрдВ рдЕрд▓реНрдлрд╛ рд░рд┐рд▓реАрдЬ рдХрд░рдиреЗ рдХреА рдпреЛрдЬрдирд╛ рдмрдирд╛ рд░рд╣рд╛ рд╣реВрдВ, рдЬрд┐рд╕ рдмрд┐рдВрджреБ рдкрд░ рдореИрдВ рдЗрд╕ рдореБрджреНрджреЗ рдХреЛ рдмрдВрдж рдХрд░ рджреВрдВрдЧрд╛ рдФрд░ рдирдП рднрдВрдбрд╛рд░ рдореЗрдВ рд╕рдм рдХреБрдЫ рдЯреНрд░реИрдХ рдХрд░реВрдВрдЧрд╛ред рджреЛ рдореБрджреНрджреЗ рд╣реИрдВ;

  • [x] nunit/dotnet-test-nunit#22 рд╡рд┐рдлрд▓ рдкрд░реАрдХреНрд╖рдгреЛрдВ рдореЗрдВ рд╕рдВрджреЗрд╢ рдФрд░ рд╕реНрдЯреИрдХ рдЯреНрд░реЗрд╕ рдЬреЛрдбрд╝реЗрдВ
  • [x] nunit/dotnet-test-nunit#12 TestContext.WriteLine TestExplorer рдкрд░реАрдХреНрд╖рдг рд╕рд╛рд░рд╛рдВрд╢ рдореЗрдВ рдкреНрд░рджрд░реНрд╢рд┐рдд рдирд╣реАрдВ рд╣реЛрддрд╛ рд╣реИ

рдПрдХ FYI рдХреЗ рд░реВрдк рдореЗрдВ, рдореИрдВрдиреЗ рдЕрдкрдиреЗ Ubuntu рдмреЙрдХреНрд╕ рдкрд░ рдЖрдЬ рдлрд┐рд░ рд╕реЗ Noda Time рдкрд░реАрдХреНрд╖рдг рдЪрд▓рд╛рдпрд╛, рдФрд░ рдЙрдиреНрд╣реЛрдВрдиреЗ рд▓рдЧрднрдЧ 15 рдорд┐рдирдЯ рдХреЗ рдмрд╛рдж рдкреВрд░рд╛ рдХрд┐рдпрд╛ред рдРрд╕рд╛ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рд╡реЗ рд╕рднреА рдореЗрд░реЗ Linux i5 рдкрд░ рдореЗрд░реЗ Win10 i7 рдХреА рддреБрд▓рдирд╛ рдореЗрдВ рд▓рдЧрднрдЧ 5-6x рдзреАрдореА рдЧрддрд┐ рд╕реЗ рдЪрд▓ рд░рд╣реЗ рд╣реИрдВред рд╕реБрдирд┐рд╢реНрдЪрд┐рдд рдирд╣реАрдВ рд╣реИ рдХрд┐ рд╕реАрдкреАрдпреВ рдХреЗ рд╕рд╛рде рдХрд┐рддрдирд╛ рдХрд░рдирд╛ рд╣реИ рдФрд░ рдЬреЗрдЖрдИрдЯреА рдХреЗ рд╕рд╛рде рдХрд┐рддрдирд╛ рдХрд░рдирд╛ рд╣реИ - рдФрд░ рдпрд╣ рдирд┐рд╢реНрдЪрд┐рдд рд░реВрдк рд╕реЗ рдПрдирдпреВрдиреАрдЯ рдХреЗ рджрд╛рдпрд░реЗ рд╕реЗ рдмрд╛рд╣рд░ рд╣реИ :)

@jskeet рдЕрдкрдбреЗрдЯ рдХреЗ рд▓рд┐рдП рдзрдиреНрдпрд╡рд╛рдж, рдпрд╣ рдЕрдЪреНрдЫреА рдЦрдмрд░ рд╣реИред рдХреНрдпрд╛ рдЖрдкрдХреЛ Linux рдкрд░реАрдХреНрд╖рдгреЛрдВ рдХреЗ рд▓рд┐рдП рдореЛрдиреЛ рдмрд╛рдЗрдВрдбрд┐рдВрдЧ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ рдЬреИрд╕рд╛ рдХрд┐ nunit/dotnet-test-nunit#9 рдореЗрдВ рджрд░реНрд╢рд╛рдпрд╛ рдЧрдпрд╛ рд╣реИ?

рдкрд░реАрдХреНрд╖рдг рдХрд░рдиреЗ рд╡рд╛рд▓реЗ рдХрд┐рд╕реА рднреА рд╡реНрдпрдХреНрддрд┐ рдХреЗ рд▓рд┐рдП, рдирд╡реАрдирддрдо рдЕрдЪреНрдЫрд╛ NuGet рдкреИрдХреЗрдЬ 3.3.0.69-CI , рдХреГрдкрдпрд╛ рдЙрд╕рдХреЗ рд╕рд╛рде рдкрд░реАрдХреНрд╖рдг рдХрд░реЗрдВред рдЕрдм рдХреЛрдИ рднреА рдмрдХрд╛рдпрд╛ рдореБрджреНрджрд╛ рдирд╣реАрдВ рд╣реИ рдЬреЛ рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдПрдХ рд░рд┐рд▓реАрдЬ рдХреЛ рдЕрд╡рд░реБрджреНрдз рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХрд╛рдлреА рдЧрдВрднреАрд░ рд╣реИред рдпрджрд┐ рдЗрд╕ рд╕рдкреНрддрд╛рд╣ рдХрд┐рд╕реА рдХреА рд░рд┐рдкреЛрд░реНрдЯ рдирд╣реАрдВ рдХреА рдЬрд╛рддреА рд╣реИ, рддреЛ рд╕рдВрднрд╡рдд: рдореИрдВ рдЗрд╕ рд╕рдкреНрддрд╛рд╣ рдХреЗ рдЕрдВрдд рдореЗрдВ рдпрд╛ рдЕрдЧрд▓реЗ рд╕рдкреНрддрд╛рд╣ рдХреА рд╢реБрд░реБрдЖрдд рдореЗрдВ рдПрдХ рдЕрд▓реНрдлрд╛ рд░рд┐рд▓реАрдЬ рдмрдирд╛рдЙрдВрдЧрд╛ред рдПрдХ рдмрд╛рд░ рдРрд╕рд╛ рдХрд░рдиреЗ рдХреЗ рдмрд╛рдж, рдореИрдВ рдЗрд╕ рдореБрджреНрджреЗ рдХреЛ рдмрдВрдж рдХрд░ рджреВрдВрдЧрд╛ рдФрд░ рднрд╡рд┐рд╖реНрдп рдореЗрдВ рдЪрд░реНрдЪрд╛/рдореБрджреНрджреЗ dotnet-test-nunit рд░реЗрдкреЛ рдореЗрдВ рдЪрд▓ рд╕рдХрддреЗ рд╣реИрдВред

рдЕрднреА рдкрд░реАрдХреНрд╖рдг рдХрд░реЗрдВ рдпрд╛ рд╣рдореЗрд╢рд╛ рдХреЗ рд▓рд┐рдП рдЕрдкрдиреА рд╢рд╛рдВрддрд┐ рдмрдирд╛рдП рд░рдЦреЗрдВ: рдореБрд╕реНрдХрд╛рди:

@rprouse : рдореИрдВрдиреЗ рдЗрд╕реЗ рдореЛрдиреЛ рдкрд░ рдЪрд▓рд╛рдиреЗ рдХреА рдХреЛрд╢рд┐рд╢ рдирд╣реАрдВ рдХреА рд╣реИ - рд▓рд┐рдирдХреНрд╕ рдкрд░ рдХреЗрд╡рд▓ .NET рдХреЛрд░ред рдпрд╣ рдКрдкрд░ рджрд┐рдП рдЧрдП рд╕рдЯреАрдХ project.json рдХреЗ рд╕рд╛рде рдареАрдХ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИред

69-рд╕реАрдЖрдИ рдХреЛ рдПрдХ рдЪрдХреНрдХрд░ рджреЗрдЧрд╛ ...

рдПрдХ рдЕрдВрддрд░ рдЬреЛ рдореИрдВрдиреЗ рдЗрд╕ рдФрд░ рдХрдВрд╕реЛрд▓ рдРрдк рд░рдирд░ рдХреЗ рдмреАрдЪ рджреЗрдЦрд╛ рд╣реИ, рд╡рд╣ рдпрд╣ рд╣реИ рдХрд┐ "рдбреЙрдЯрдиреЗрдЯ рдЯреЗрд╕реНрдЯ" рд╕рдВрд╕реНрдХрд░рдг рдореЗрдВ рд╕рдордЧреНрд░ рдЕрд╡рдзрд┐ рдореЗрдВ рдкрд░реАрдХреНрд╖рдг рдЦреЛрдЬрдиреЗ рдореЗрдВ рд▓рдЧрдиреЗ рд╡рд╛рд▓рд╛ рд╕рдордп рд╢рд╛рдорд┐рд▓ рд╣реИ, рдЬрдмрдХрд┐ "рдбреЙрдЯрдиреЗрдЯ рд░рди" рдХрдорд╛рдВрдб рдХрд╛ рдЙрдкрдпреЛрдЧ рдореИрдВ NUnitLite рдХреЗ рд╕рд╛рде рдХрд░рддрд╛ рдерд╛ред . рдиреЛрдбрд╛ рдЯрд╛рдЗрдо рдореЗрдВ, рдЗрд╕рдХрд╛ рдорддрд▓рдм рд╣реИ рдХрд┐ рдпрджрд┐ рдореИрдВ --where=cat==Foo (рдЙрд╕ рд╢реНрд░реЗрдгреА рдореЗрдВ рдЗрд╕ рддрд░рд╣ рдХреЗ рдХреЛрдИ рдкрд░реАрдХреНрд╖рдг рдирд╣реАрдВ рд╣реИрдВ) рдХреЗ рд╕рд╛рде рдЪрд▓рддрд╛ рд╣реВрдВ, рддреЛ "рдбреЙрдЯрдиреЗрдЯ рдЯреЗрд╕реНрдЯ" 14 рдХреА рдЕрд╡рдзрд┐ рдХреА рд░рд┐рдкреЛрд░реНрдЯ рдХрд░рддрд╛ рд╣реИ, рдЬрдмрдХрд┐ "рдбреЙрдЯрдиреЗрдЯ рд░рди" 0.01s рдХреА рдЕрд╡рдзрд┐ рдХреА рд░рд┐рдкреЛрд░реНрдЯ рдХрд░рддрд╛ рд╣реИ - рдЗрд╕рдХреЗ рдмрд╛рд╡рдЬреВрдж рд╡реЗ рджреЛрдиреЛрдВ рдПрдХ рд╣реА рд╡рд╛рд╕реНрддрд╡рд┐рдХ рдмреАрддрд╛ рд╣реБрдЖ рд╕рдордп рд▓реЗ рд░рд╣реЗ рд╣реИрдВред

рдХреНрдпрд╛ рдпрд╣ рдЬрд╛рдирдмреВрдЭрдХрд░ рд╣реИ? рдореБрдЭреЗ рдирд┐рд╢реНрдЪрд┐рдд рд░реВрдк рд╕реЗ рд╡реНрдпрд╡рд╣рд╛рд░ рдкрд░ рдХреЛрдИ рдлрд░реНрдХ рдирд╣реАрдВ рдкрдбрд╝рддрд╛, рд▓реЗрдХрд┐рди рд▓реЛрдЧреЛрдВ рдХреЛ рдпрд╣ рд╕реЛрдЪрдиреЗ рд╕реЗ рдмрдЪрдиреЗ рдХреЗ рд▓рд┐рдП рдХрд╣реАрдВ рдФрд░ рдзреНрдпрд╛рди рджреЗрдиреЗ рдпреЛрдЧреНрдп рд╣реЛ рд╕рдХрддрд╛ рд╣реИ рдХрд┐ рдпрд╣ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдзреАрдорд╛ рд╣реИред

@jskeet рдпрд╣ рдПрдХ рдЕрдЪреНрдЫрд╛ рдЕрд╡рд▓реЛрдХрди рд╣реИ, рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдРрд╕рд╛ рд╣реА рд╣реИред рдЪреВрдВрдХрд┐ рд╣рдорд╛рд░реЗ рдкрд╛рд╕ рдкрд░реАрдХреНрд╖рдг рдЪрд▓рд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдкреВрд░реНрдг рдПрдирдпреВрдиреАрдЯ рдЗрдВрдЬрди рдирд╣реАрдВ рд╣реИ, рдЗрд╕рд▓рд┐рдП рдХреЛрдб рдЕрдзрд┐рдХ рд╕рд░рд▓ рд╣реИ, рд▓реЗрдХрд┐рди рдореИрдВ рдЯреЗрд╕реНрдЯ рд░рди рдХреЛ рд▓рдкреЗрдЯрдиреЗ рдХреЗ рдмрдЬрд╛рдп рдкрд╣рд▓реЗ рдЯреЗрд╕реНрдЯ рд╕реНрдЯрд╛рд░реНрдЯ рдЗрд╡реЗрдВрдЯ рдкрд░ рдШрдбрд╝реА рд╢реБрд░реВ рдХрд░рдиреЗ рдореЗрдВ рд╕рдХреНрд╖рдо рд╣реЛ рд╕рдХрддрд╛ рд╣реВрдВред рдореИрдВ рдПрдХ рдореБрджреНрджрд╛ рджрд░реНрдЬ рдХрд░реВрдВрдЧрд╛ред

рдореИрдВрдиреЗ https://www.nuget.org/packages/dotnet-test-nunit/3.4.0-alpha-1 рдкрд░ GitHub рдкрд░ dotnet-test-nunit рдХрд╛ рдПрдХ рдЕрд▓реНрдлрд╛ рд╕рдВрд╕реНрдХрд░рдг рдЬрд╛рд░реА рдХрд┐рдпрд╛ рд╣реИ, рдЗрд╕рд▓рд┐рдП рдЕрдм рдЖрдкрдХреЛ рдЕрдкрдирд╛ рдкрд░рд┐рд╡рд░реНрддрди рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдирд╣реАрдВ рд╣реИ NuGet.config рдлрд╝рд╛рдЗрд▓ рдФрд░ CI рд░рд┐рд▓реАрдЬрд╝ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░реЗрдВред

рдЕрдм рдЬрдмрдХрд┐ рдореЗрд░реЗ рдкрд╛рд╕ рдЕрд▓реНрдлрд╛ рдЖрдЙрдЯ рд╣реЛ рдЧрдпрд╛ рд╣реИ, рдореИрдВ рдЗрд╕ рдореБрджреНрджреЗ рдХреЛ рдмрдВрдж рдХрд░рдиреЗ рдЬрд╛ рд░рд╣рд╛ рд╣реВрдВред рдХреГрдкрдпрд╛ рдореБрдЭреЗ рдЕрд▓реНрдлрд╛ рдХрд╛ рдкрд░реАрдХреНрд╖рдг рдХрд░рдиреЗ рдореЗрдВ рдорджрдж рдХрд░реЗрдВ рдФрд░ https://github.com/nunit/dotnet-test-nunit/issues рдореЗрдВ рдХрд┐рд╕реА рднреА рд╕рдорд╕реНрдпрд╛ рдХреА рд░рд┐рдкреЛрд░реНрдЯ

рдореИрдВрдиреЗ dotnet-test-nunit рд▓рд┐рдП рд░реАрдбрдореА рдореЗрдВ рдкреНрд░рд▓реЗрдЦрди рдХреЛ рдЕрджреНрдпрддрди рдХрд┐рдпрд╛ рд╣реИред рдореИрдВ рдЗрд╕реЗ рдЕрджреНрдпрддрд┐рдд рд░рдЦреВрдВрдЧрд╛ред

https://github.com/nunit/dotnet-test-nunit

рдЬреИрд╕рд╛ рдХрд┐ рдореИрдВрдиреЗ рдкрд╣рд▓реЗ рдЙрд▓реНрд▓реЗрдЦ рдХрд┐рдпрд╛ рд╣реИ, рдпрджрд┐ рдЖрдк "Microsoft.NETCore.App" рдирд┐рд░реНрднрд░рддрд╛ рдХреЗ рд▓рд┐рдП "type": "platform" рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реИрдВ рддреЛ рдЖрдкрдХреЛ рд░рдирдЯрд╛рдЗрдо рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдирд╣реАрдВ рд╣реИред xUnit рджрд╕реНрддрд╛рд╡реЗрдЬрд╝реЛрдВ рдХреЛ рджреЗрдЦрддреЗ рд╣реБрдП, рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдпрд╣ рдкрд╕рдВрджреАрджрд╛ рддрд░реАрдХрд╛ рд╣реИред

рдореЗрд░реЗ рдкрд╛рд╕ рд╡рд░реНрддрдорд╛рди рдореЗрдВ рдЯреНрд░реИрд╡рд┐рд╕ рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдЪрд▓рдиреЗ рд╡рд╛рд▓рд╛ рдПрдХ рдкреБрд▓ рдЕрдиреБрд░реЛрдз рд╣реИ - рдпрджрд┐ рд╡рд╣ рд╣рд░рд╛ рд╣реЛ рдЬрд╛рддрд╛ рд╣реИ, рддреЛ рдиреЛрдбрд╛ рд╕рдордп рдЗрд╕ рдкрд░ рдирд┐рд░реНрднрд░ рдХрд░реЗрдЧрд╛, рдЬрд┐рд╕рд╕реЗ рдЗрд╕реЗ _some_ рдЙрдкрдпреЛрдЧ рджреЗрдирд╛ рдЪрд╛рд╣рд┐рдПред рдЕрдЪреНрдЫрд╛ рдХрд┐рдпрд╛ рд╕рд░...

рдПрдХ рдирдХрд╛рд░рд╛рддреНрдордХ рдкрд╣рд▓реВ рдЬреЛ рдореИрдВрдиреЗ рдЕрднреА рджреЗрдЦрд╛ рд╣реИ - рдЗрд╕рдХрд╛ рдорддрд▓рдм рд╣реИ рдХрд┐ рдореИрдВ рдЕрдм рд▓рд┐рдирдХреНрд╕ рдкрд░ рдореЛрдиреЛ рдХреЗ рд╕рд╛рде рдЖрд╕рд╛рдиреА рд╕реЗ рдкрд░реАрдХреНрд╖рдг рдирд╣реАрдВ рдХрд░ рд╕рдХрддрд╛ред рдореЗрд░рд╛ рдорд╛рдирдирд╛ тАЛтАЛрд╣реИ рдХрд┐ рдпрд╣ рдПрдХ рдПрдирдпреВрдиреАрдЯ рдореБрджреНрджрд╛ рдирд╣реАрдВ рд╣реИ, рдпрд╣ рдореВрд▓ рд░реВрдк рд╕реЗ https://github.com/dotnet/cli/issues/3073 рдХреА рдЕрднрд┐рд╡реНрдпрдХреНрддрд┐ рд╣реИ рд▓реЗрдХрд┐рди рдПрдирдпреВрдиреАрдЯ рдХреЗ рд▓рд┐рдПред рдореБрдЭреЗ рдЕрднреА рднреА рдЙрдореНрдореАрдж рд╣реИ рдХрд┐ рдпрд╣ рдЕрдВрддрддрдГ рдареАрдХ рд╣реЛ рд╕рдХрддрд╛ рд╣реИ; рдлрд┐рд▓рд╣рд╛рд▓ рдореИрдВ рдереЛрдбрд╝реА рдЕрдирд┐рдЪреНрдЫрд╛ рдХреЗ рд╕рд╛рде рдЯреНрд░реИрд╡рд┐рд╕ рдореЗрдВ рдЕрдкрдиреЗ рдореЛрдиреЛ рдкрд░реАрдХреНрд╖рдгреЛрдВ рдХреЛ рдЕрдХреНрд╖рдо рдХрд░рдиреЗ рдЬрд╛ рд░рд╣рд╛ рд╣реВрдВред ( dotnet test рдирд┐рд╢реНрдЪрд┐рдд рд░реВрдк рд╕реЗ рднрд╡рд┐рд╖реНрдп рд╣реИред)

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

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

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

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

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

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

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