ASP.NET 5 Web Api 集成测试
2015-11-17 10:18
531 查看
一、在测试项目中引用Web Api项目
引用Web Api项目的目的是使用Startup类,在Startup类中重载Configure方法,代码如下:public void Configure(IApplicationBuilder app) { // Configure the HTTP request pipeline. app.UseStaticFiles(); // Add MVC to the request pipeline. app.UseMvc(); }
二、测试项目中安装需要的包
project.json中依赖包如下//略去所需的项目以来 "Microsoft.AspNet.Hosting": "1.0.0-beta8", "Microsoft.AspNet.Mvc": "6.0.0-beta8", "Microsoft.AspNet.StaticFiles": "1.0.0-beta8", "Microsoft.AspNet.TestHost": "1.0.0-beta8", "Microsoft.Framework.DependencyInjection": "1.0.0-beta8", "xunit": "2.1.0", "xunit.runner.dnx": "2.1.0-beta6-build191"
三、编写集成测试类
public class YourTestClass { private readonly Action<IApplicationBuilder> _app; private readonly Action<IServiceCollection> _services; public WealthApiTest() { var startup = new Startup(new HostingEnvironment()); // 使用Web Api项目中的Startup类 _app = startup.Configure; // 将第一步中重载的Configure方法赋给_app委托 _services = startup.ConfigureServices; } // 单独的测试方法 }
四、编写测试方法
第三步已经做好了编写测试方法的准备,下面展示一个简单的get请求的测试[Fact] public async Task GetByIdTest() { // Arrange var server = TestServer.Create(_app, _services); var client = server.CreateClient(); // Act var response = await client.GetAsync("http://localhost/api/YourController/1"); var deserialized = await response.Content.ReadAsStringAsync(); // Assert Assert.Equal(HttpStatusCode.OK, response.StatusCode); }
五、执行测试
可以在VisualStudio中测试,也可以使用dnx test命令执行测试相关文章推荐
- 界面控件Essential Studio for ASP.NET MVC 2015 v3正式发布[附下载]
- Orchard 与 ABP架构比较 (aspnetboilerplate)
- asp.net编程获取项目根目录实现方法集合
- ASP.NET连接数据库并获取数据方法总结
- asp.net微信开发(消息应答)
- asp.net微信开发(自定义会话管理)
- Dreamweaver制作ASP网页用DSN链接Access数据库的方法及上传修改
- plantomjs&casperjs
- asp.net字符串的数学表达式计算结果
- 利用Aspose.Word控件实现Word文档的操作
- ASP.net 手机归属地查询(Web Service)
- asp.net mvc webconfig配置文件操作
- ASP.NET web 网上注册及投票
- ASP.NET验证码实现(附源码)
- ASP.NET 5 开发者的五个阶段-兄弟连IT教育
- ASP.NET图片上传实例(附源码)
- ASP.NET速度优化
- SQL Server + asp.net 数据库连接配置
- Use a fixed aspect ratio with the Percent Support Library 23.1
- 微软发布了ASP.NET WebHooks预览版