qileilove

          blog已經轉移至github,大家請訪問 http://qaseven.github.io/

          Web Api單元測試寫法

           例如我們在Web Api項目中有個Controller
          public class SomeController : ApiController
          {
          public HttpResponseMessage Get()
          {
          // 一些操作
          return Request.CreateResponse(HttpStatusCode.OK, someModel);
          }
          }
            如果你在單元測試中直接調用 SomeController 的Get()方法,那么你將會收到一個Exception提示Request為Null。
            因此我們需要在測試代碼中構造一個Request,有兩種方法
            1、簡單構造法
          [TestMethod]
          public void UnitTestMethod()
          {
          // 環境準備部分
          YourNameSpace.Controllers.SomeController controller = new SomeController();
          // 下面兩個語句是構造一個簡單的請求報文
          controller.Request = new HttpRequestMessage();
          controller.Request.SetConfiguration(new HttpConfiguration());
          var result = controller.Get();
          // 斷言
          }
            2、可控性更強的構造
          [TestMethod]
          public void UnitTestMethod()
          {
          // 環境準備部分
          YourNameSpace.Controllers.SomeController controller = new SomeController();
          var config = new HttpConfiguration();
          var request = new HttpRequestMessage(HttpMethod.Post, "YourUrl");
          var route = config.Routes.MapHttpRoute("DefaultApi", "api/{controller}/{id}");
          var routeData = new HttpRouteData(route, new HttpRouteValueDictionary { { "controller", "products" } });
          controller.ControllerContext = new HttpControllerContext(config, routeData, request);
          controller.Request = request;
          controller.Request.Properties[HttpPropertyKeys.HttpConfigurationKey] = config;
          var result = controller.Get();
          // 斷言
          }
            然后就可以運行單元測試查看結果了。

          posted on 2014-05-04 12:56 順其自然EVO 閱讀(381) 評論(0)  編輯  收藏 所屬分類: web 前端性能測試

          <2014年5月>
          27282930123
          45678910
          11121314151617
          18192021222324
          25262728293031
          1234567

          導航

          統計

          常用鏈接

          留言簿(55)

          隨筆分類

          隨筆檔案

          文章分類

          文章檔案

          搜索

          最新評論

          閱讀排行榜

          評論排行榜

          主站蜘蛛池模板: 赤城县| 墨竹工卡县| 五寨县| 涪陵区| 巴中市| 隆化县| 深圳市| 富平县| 渑池县| 儋州市| 桐梓县| 曲水县| 宜良县| 洪雅县| 邵阳市| 阳新县| 武夷山市| 浠水县| 宁城县| 元氏县| 海晏县| 香格里拉县| 洱源县| 抚州市| 广河县| 开封市| 丁青县| 睢宁县| 晴隆县| 全椒县| 城口县| 凤翔县| 穆棱市| 双牌县| 昂仁县| 吉隆县| 府谷县| 景泰县| 油尖旺区| 沛县| 大石桥市|