DDD实战7 对项目进行单元测试
此次采用的方法是 创建一个单元测试项目 在其中利用HttpClient 模拟浏览器 webapi 进行post请求来验证程序。
[TestClass]
public class ProductTest
{
HttpClient hc;
[TestMethod]
public void AddProductTest()
{
hc = new HttpClient();
AddProductSPUDto addProductSPUDto = new AddProductSPUDto();
addProductSPUDto.SPUName = "玫瑰牌沐浴露";
addProductSPUDto.SPUDesc = "为了洗一个好澡";
addProductSPUDto.SKUSpecs = new List<string>();
addProductSPUDto.SKUSpecs.Add("每瓶500ml");
addProductSPUDto.SKUSpecs.Add("每瓶750ml");
addProductSPUDto.SKUUnits = new List<string>();
addProductSPUDto.SKUUnits.Add("瓶");
addProductSPUDto.SKUUnits.Add("瓶");
addProductSPUDto.SKUDealerPrices = new List<decimal>();
addProductSPUDto.SKUDealerPrices.Add();
addProductSPUDto.SKUDealerPrices.Add();
addProductSPUDto.PVs = new List<decimal>();
addProductSPUDto.PVs.Add();
addProductSPUDto.PVs.Add();
var fs = new FileStream(@"d:\1.jpg", FileMode.Open, FileAccess.Read);
var imgBytes = new byte[fs.Length];
fs.Read(imgBytes, , imgBytes.Length);
fs.Close();
addProductSPUDto.SKUImages = new List<byte[]>();
addProductSPUDto.SKUImages.Add(imgBytes);
addProductSPUDto.SKUImages.Add(imgBytes); string json = JsonConvert.SerializeObject(addProductSPUDto);
HttpContent content = new StringContent(json);
content.Headers.ContentType = new MediaTypeHeaderValue("application/json");
var response = hc.PostAsync("http://localhost:52152/api/Product/AddProduct", content).Result;
var responseValue = response.Content.ReadAsStringAsync().Result;
}
}
右键 调试测试 或者 运行测试
DDD实战7 对项目进行单元测试的更多相关文章
- DDD实战11 在项目中使用JWT的token 进行授权验证
步骤: 1.首先要在webapi的管道中 使用认证(Authentication) 2.要在webapi的服务中注册验证条件 代码如下: namespace Dealer.WebApi { publi ...
- DDD实战10 在项目中使用JWT的token
在使用过程中报过一个错误:The algorithm: 'HS256' requires the SecurityKey.KeySize to be greater than '128' bits 是 ...
- DDD实战6 单元测试
1.在Products解决方案文件夹下面新建一个项目 一个单元测试项目 Product.Tests.
- DDD实战进阶第一波(五):开发一般业务的大健康行业直销系统(实现产品上下文领域层)
从这篇文章开始,我们根据前面的DDD理论与DDD框架的约束,正式进入直销系统案例的开发. 本篇文章主要讲产品上下文中的领域层的主要实现,先简单讲下业务方面的需求:产品SPU与产品SKU,产品SPU主要 ...
- DDD实战进阶第一波(六):开发一般业务的大健康行业直销系统(实现产品上下文仓储与应用服务层)
前一篇文章我们完成了产品上下文的领域层,我们已经有了关于产品方面的简单领域逻辑,我们接着来实现产品上下文关于仓储持久化与应用层的用例如何来协调 领域逻辑与仓储持久化. 首先大家需要明确的是,产品上下文 ...
- DDD实战进阶第一波(九):开发一般业务的大健康行业直销系统(实现经销商上下文仓储与领域逻辑)
上篇文章主要讲述了经销商上下文的需求与POCO对象,这篇文章主要讲述该界限上下文的仓储与领域逻辑的实现. 关于界限上下文与EF Core数据访问上下文参考产品上下文相应的实现,这里不再累述. 因为在经 ...
- DDD实战进阶第一波(十五):开发一般业务的大健康行业直销系统(总结篇)
前面我们花了14篇的文章来给大家介绍经典DDD的概念.架构和实践.这篇文章我们来做一个完整的总结,另外生成一个Api接口文档. 一.DDD解决传统的开发的几大问题: 没有描述需求的设计模型:而是直接通 ...
- DDD实战进阶第一波(四):开发一般业务的大健康行业直销系统(搭建支持DDD的轻量级框架三)
上一篇文章我们讲了经典DDD架构对比传统三层架构的优势,以及经典DDD架构每一层的职责后,本篇文章将介绍基础结构层中支持DDD的轻量级框架的主要代码. 这里需要说明的是,DDD轻量级框架能够体现DDD ...
- DDD实战进阶第一波(三):开发一般业务的大健康行业直销系统(搭建支持DDD的轻量级框架二)
了解了DDD的好处与基本的核心组件后,我们先不急着进入支持DDD思想的轻量级框架开发,也不急于直销系统需求分析和具体代码实现,我们还少一块, 那就是经典DDD的架构,只有了解了经典DDD的架构,你才能 ...
随机推荐
- 新手MFC学习之Socket练习
事实上MFC这东西吧,好像也不光是MFC,非常多东西,事实上我如今才感觉到,假设想高速做一个东西出来的话.是没有必要系统的学关于这个东西的所有知识的.比方我想做一个MFC相似QQ的软件,可是我又不想花 ...
- php中的转义字符(用反斜杠\来输出,和C语言一样)
php中的转义字符(用反斜杠\来输出,和C语言一样) 一.总结 1.引号中的变量:双引号会替换变量的值,而单引号会把它当做字符串输出. 2.引号中的转义字符:双引号将用变量的值(test)代替它的名称 ...
- Swift - 警告提示框(UIAlertController)的用法
import UIKit class ViewController: UIViewController { override func viewDidLoad() { super.viewDidLoa ...
- php二维数组中的查找(善于利用基础函数)
php二维数组中的查找(善于利用基础函数) 一.总结 真没必要完整的写函数,善于借用 1.array_search()是在以为数组中来找,现在我们要在二维数组数组中来,肯定要借用这个 2.!==fal ...
- 【心情】Priority_queue容器的用法
所给的代码最顶端是最小的元素 要改为最顶端是最大的则只需把 friend bool operator<(Node a, Node b) { return a.val > b.val; } ...
- Redis主从高可用缓存
nopCommerce 3.9 大波浪系列 之 使用Redis主从高可用缓存 一.概述 nop支持Redis作为缓存,Redis出众的性能在企业中得到了广泛的应用.Redis支持主从复制,HA,集 ...
- windows安装rabbitMQ服务
简介: RabbitMQ是流行的开源消息队列系统,用erlang语言开发.RabbitMQ是AMQP(高级消息队列协议)的标准实现. windows安装rabbitMQ服务步骤: 首先需要安装 Erl ...
- [E2E] Robot Framework introduction
We will use demo project as an example, go though QuickStart repo. Install: First you should have py ...
- MySQL 监控-innotop
innotop 编写者Balon Schwartz,<高性能MySQL>的作者之一. innotop的作用为实时地展示服务器正在发生的事情,监控innodb,监控多个MySQL实例,是一款 ...
- [NPM] Use package.json variables in npm scripts
In this lesson we will show that you can leverage values that you already have provided in your pack ...