Aspnetcore: ActionContext () рдХреЗ рд╕рд╛рде рдПрдХ UrlHelper рдмрдирд╛рдирд╛ рдПрдХ NullReferenceException рдореЗрдВ рдкрд░рд┐рдгрд╛рдо рджреЗрддрд╛ рд╣реИ

рдХреЛ рдирд┐рд░реНрдорд┐рдд 15 рдЬрдире░ 2019  ┬╖  3рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ  ┬╖  рд╕реНрд░реЛрдд: dotnet/aspnetcore

рдмрдЧ рдХрд╛ рд╡рд░реНрдгрди рдХрд░реЗрдВ

ActionContext() рдХреА рд╕рд╣рд╛рдпрддрд╛ рд╕реЗ рдкрд░реАрдХреНрд╖рдг рдЙрджреНрджреЗрд╢реНрдпреЛрдВ рдХреЗ рд▓рд┐рдП URLHelper рдмрдирд╛рдиреЗ рдХрд╛ рдкреНрд░рдпрд╛рд╕ рдПрдХ NullReferenceException рдлреЗрдВрдХрддрд╛ рд╣реИред

рдкреНрд░рдЬрдирди рдХрд░рдирд╛

рд╡реНрдпрд╡рд╣рд╛рд░ рдХреЛ рдкреБрди: рдкреЗрд╢ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХрджрдо:

  1. рдПрдХ рдЦрд╛рд▓реА MVC рдХреЛрд░ 2.2 рд╕рдорд╛рдзрд╛рди рдмрдирд╛рдПрдБ
  2. рдПрдХ xunit рдкрд░реАрдХреНрд╖рдг рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдмрдирд╛рдПрдВ
  3. NuGet Microsoft.AspNetCore.Mvc.Core 2.2.0 . рд╕реНрдерд╛рдкрд┐рдд рдХрд░реЗрдВ
  4. рдкрд░реАрдХреНрд╖рдг рдореЗрдВ рд▓рд┐рдЦреЗрдВ: var Url = new UrlHelper(new ActionContext ());
  5. рдЪрд╛рд▓реВ рдкрд░реАрдХреНрд╖рдг

рдЕрдкреЗрдХреНрд╖рд┐рддреН рд╡реНрдпрд╡рд╣рд╛рд░

рд╕рдВрджреЗрд╢ рдлреЗрдВрдХрддрд╛ рд╣реИ: System.NullReferenceException: рдСрдмреНрдЬреЗрдХреНрдЯ рд╕рдВрджрд░реНрдн рдХрд┐рд╕реА рдСрдмреНрдЬреЗрдХреНрдЯ рдХреА рдЖрд╡реГрддреНрддрд┐ рдкрд░ рд╕реЗрдЯ рдирд╣реАрдВ рд╣реИред

рдЕрддрд┐рд░рд┐рдХреНрдд рд╕рдВрджрд░реНрдн

StackOverflow рдкрд░ рдмрдЧ рд░рд┐рдкреЛрд░реНрдЯ рднреА рдорд┐рд▓ рд╕рдХрддреА рд╣реИ:
https://stackoverflow.com/questions/54199103/trying-to-test-a-controller-with-a-urlhelper

bug

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

рдпрд╣рд╛рдВ рд╣реЛрддрд╛ рд╣реИ рдХрд┐ рд╣реИ UrlHelper рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреА рдХреЛрд╢рд┐рд╢ рдХрд░рддрд╛ RouteData рдХреА рд╕рдВрдкрддреНрддрд┐ ActionContext рдЕрдЧрд░ рдпрд╣ рдЙрд╕ рдкрд░ рдорд╛рди рд╣реЛрддреЗ рд╣реИрдВ рдЗрд╕ рдкреНрд░рдХрд╛рд░ рдЕрдкрд╡рд╛рдж рдХреЗ рдХрд╛рд░рдг рдХреА рдЬрд╛рдБрдЪ рдХрд░рдиреЗ рдХреЗред рдЗрд╕реЗ рдареАрдХ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЖрдк рдпрд╣ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ:

var url = new UrlHelper( new ActionContext{ RouteData = new RouteData() } );

рдЙрд╕ рд╡рд┐рд╢рд┐рд╖реНрдЯ рдХрдВрд╕реНрдЯреНрд░рдХреНрдЯрд░ рдХреЛ рдпреВрдирд┐рдЯ рдкрд░реАрдХреНрд╖рдг рдХреЗ рд▓рд┐рдП рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдкреНрд░рд▓реЗрдЦрд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рд╡рд┐рд╢реЗрд╖ рд░реВрдк рд╕реЗ рдЬрдм ActionContext рдХреЗрд╡рд▓ рдкрд╛рд╕ рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрддреА рд╣реИ, рд▓реЗрдХрд┐рди рдЙрдкрднреЛрдЧ рдХрд░рдиреЗ рд╡рд╛рд▓реЗ рдХреЛрдб рджреНрд╡рд╛рд░рд╛ рдЙрдкрдпреЛрдЧ рдирд╣реАрдВ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред рдЬрд┐рд╕ рддрд░рд╣ рд╕реЗ @navelDirt рдиреЗ рд╕реБрдЭрд╛рд╡ рджрд┐рдпрд╛ рд╣реИ, рдЙрд╕реЗ рд╕реЗрдЯ рдХрд░рдирд╛ рдПрдХ рд░рд╛рд╕реНрддрд╛ рд╣реЛрдЧрд╛ред

рдЖрдЧреЗ рдмрдврд╝рддреЗ рд╣реБрдП, рдпрджрд┐ рдЖрдкрдХрд╛ рдЗрд░рд╛рджрд╛ рдЗрдХрд╛рдИ рдкрд░реАрдХреНрд╖рдг рдХрд░рдирд╛ рд╣реИ рдпрджрд┐ рдХреЛрдб рдХрд╛ рдПрдХ рдЯреБрдХрдбрд╝рд╛ рдПрдХ рд╡рд┐рд╢рд┐рд╖реНрдЯ рдпреВрдЖрд░рдПрд▓ рдЙрддреНрдкрдиреНрди рдХрд░рддрд╛ рд╣реИ, рддреЛ рдЖрдкрдХреЛ рд╕реНрдЯрдм \ рдирдХрд▓реА IUrlHelper рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдмреЗрд╣рддрд░ рд╕рдлрд▓рддрд╛ рдкреНрд░рд╛рдкреНрдд рд╣реЛрдЧреАред рдпрджрд┐ рдЖрдкрдХреЛ рд╡рд╛рд╕реНрддрд╡рд┐рдХ рдкрд░рд┐рдгрд╛рдо рдХреЛ рд╕рддреНрдпрд╛рдкрд┐рдд рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ, рддреЛ рдореИрдВ рдПрдХ рдПрдХреАрдХрд░рдг рдкрд░реАрдХреНрд╖рдг рд▓рд┐рдЦрдиреЗ рдХреА рджреГрдврд╝рддрд╛ рд╕реЗ рдЕрдиреБрд╢рдВрд╕рд╛ рдХрд░рддрд╛ рд╣реВрдВ

рдмрд╣реБрдд рдмрд╣реБрдд рдзрдиреНрдпрд╡рд╛рдж @navelDirt рдФрд░ @pranavkmред
рдореИрдВ рдЙрд▓рдЭрди рдореЗрдВ рдерд╛ рдХреНрдпреЛрдВрдХрд┐ рдХреЛрд░ 1.1 рдореЗрдВ рдпрд╣ рд░реВрдЯрдбреЗрдЯрд╛ рд╕реЗрдЯ рдХрд┐рдП рдмрд┐рдирд╛ рдХрд╛рдо рдХрд░рддрд╛ рдерд╛, рд▓реЗрдХрд┐рди 2.2 рдкрд░ рд╕реНрд╡рд┐рдЪ рдХрд░рдиреЗ рд╕реЗ рдпрд╣ рджреБрд░реНрдШрдЯрдирд╛рдЧреНрд░рд╕реНрдд рд╣реЛ рдЧрдпрд╛ред рдЗрд╕рд▓рд┐рдП рдореИрдВрдиреЗ рд╕реЛрдЪрд╛ рдХрд┐ рдпрд╣ рдПрдХ рдмрдЧ рдерд╛... рдЕрд╕реБрд╡рд┐рдзрд╛ рдХреЗ рд▓рд┐рдП рдЦреЗрдж рд╣реИред

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

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

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

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

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

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

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