ASP.Net Web API コントローラーに対していくつかの受け入れテスト コードを作成しているときに、投稿対象の URL (ドメインとポートを除く) をハードコーディングしました。これは私を不安にさせます。コントローラーまたはそのパラメーターのいずれかの名前が変更された場合、私の URL は無効になりますが、Intellisense/Resharper はそれをキャッチしません。コントローラーの適切な URI を生成するメソッドはありますか?
例: 次のようなコントローラーが与えられた場合:
public class FooController : ApiController
{
...
public HttpResponseMessage Get(string bar) { ... }
public HttpResponseMessage Post(string bar) { ... }
...
}
次のような (概念的な) テスト コードを書いたとします。
sendPOSTforJSONresponse(baseURL + "api/Foo?bar=" + bar);
...
sendGETforJSONresponse(baseURL + "api/Foo?bar=" + bar);
しかし、私がやりたいのは"api/Foo?bar="
、のようなものに置き換えることですGenerateURLForController(FooController).withParametersOfMethod(FooController.Get)
。標準の ASP.Net Web API ライブラリにこのようなメソッドはありますか? そうでない場合は、リフレクションを使用して自分でロールバックできると思います。