第1篇: 讲述了如何创造"缝". "缝"(seam)是需要知道的概念.
第2篇, 避免在构建对象时写出不易测试的代码.
本文是第3篇, 讲述依赖项和迪米特法则.
迪米特法则 (Law of Demeter)
还是使用建造汽车的例子. 生产汽车的
该系列第1篇: 讲述了如何创造"缝". "缝"(seam)是需要知道的概念.
本文是第2篇, 介绍的是如何避免在构建对象时写出不易测试的代码. 本文的概念性内容大部分都来自Misko Hevery的这篇博客文章.
构建
还是用上文里汽车的例子.
通常情况下,
有时候不是我们不想做单元测试, 而是这代码写的实在是没法测试....
举个例子, 如果一辆汽车在产出后没完成测试, 那么没人敢去驾驶它. 代码也是一样的, 如果项目未能进行该做的测试, 那么客户就不敢去使用它, 即使使用了也会遇到“车祸”.
为什么要测试/测试的好
在 ASP.NET Core Web API 集成测试一文中, 我介绍了ASP.NET Core Web API的集成测试.
在那里我使用了测试专用的Startup类, 里面的配置和开发时有一些区别, 例如里面去掉了用户身份验证相关的中间件.
但是有些被测试的行为里面需要用到身
本文需要您了解ASP.NET Core Web API 和 xUnit的相关知识.
这里有xUnit的介绍: https://www.cnblogs.com/cgzl/p/9178672.html#test
ASP.NET Core集成测试官方文档: https://docs.m
本文需要您了解ASP.NET Core MVC/Web API, xUnit以及Moq相关知识.
这里有xUnit和Moq的介绍: https://www.cnblogs.com/cgzl/p/9178672.html#test
Controllers可以说是ASP
xunit-performance 是xUnit的一个扩展, 使用它可以对.NET Core项目进行性能测试。
官网:https://github.com/Microsoft/xunit-performance
xUnit大家可能都用过,它是用来做单元测试的,它可
代码覆盖(Code coverage)是软件测试中的一种度量,描述程式中源代码被测试的比例和程度,所得比例称为代码覆盖率。
Visual Studio 2017的企业版可以直接查看测试的代码覆盖率, 而由于我只能用得起Visual Studio Community和VS Code所以不得不
第一部分: http://www.cnblogs.com/cgzl/p/8283610.html
Assert
Assert做什么?Assert基于代码的返回值、对象的最终状态、事件是否发生等情况来评估测试的结果。Assert的结果可能是Pass或者Fail。如果所有的asser
视频专辑在B站上:https://www.bilibili.com/video/av34462368/
内容暂时如下,还在更新中:
1. 简介 & 创建Model,生成数据库
2. 在ASP.NET Core里使用EFCore和多对多,一对一关系&
比较初级的入门教程,网址在B站:https://www.bilibili.com/video/av33728783/
内容如下:
1. ASP.NET Core 简介和开发工具
2. ASP.NET Core 启动相关的基础知识
3. 使用Nuget &
这个系列文章介绍的是Identity Server 4 实施 OpenID Connect 的 Hybrid Flow.
保护MVC客户端: https://www.cnblogs.com/cgzl/p/9253667.html, https://www.cnblogs.com/cgz
这个系列文章介绍的是Identity Server 4 的 Hybrid Flow, 前两篇文章介绍了如何保护MVC客户端, 本文介绍如何保护API资源.
保护MVC客户端的文章: https://www.cnblogs.com/cgzl/p/9253667.html, https://
前一篇 Identity Server 4 - Hybrid Flow - MVC客户端身份验证: https://www.cnblogs.com/cgzl/p/9253667.html
Claims
我不知道怎么样翻译这个词比较好, 所以我一般就不翻译了.
在前一篇文
预备知识
可能需要看一点点预备知识
OAuth 2.0 不完全简介: https://www.cnblogs.com/cgzl/p/9221488.html
OpenID Connect 不完全简介: https://www.cnblogs.com/cgzl/p/923
我之前的文章简单的介绍了OAuth 2.0 (在这里: https://www.cnblogs.com/cgzl/p/9221488.html), 还不是很全.
这篇文章我要介绍一下 OpenID Connect.
OAuth 2.0 不是身份认证协议
OAuth 2.
OAuth 2.0 简介
OAuth有一些定义:
OAuth 2.0是一个委托协议, 它可以让那些控制资源的人允许某个应用以代表他们来访问他们控制的资源, 注意是代表这些人, 而不是假冒或模仿这些人. 这个应用从资源的所有者那里获得到授权(Authorization)和acces
本文介绍如何保护API,无需看前边文章也能明白吧。
预备知识:
http://www.cnblogs.com/cgzl/p/9010978.html
http://www.cnblogs.com/cgzl/p/9019314.html
建立成熟度2级的 AP
本文所需的一些预备知识可以看这里: http://www.cnblogs.com/cgzl/p/9010978.html 和 http://www.cnblogs.com/cgzl/p/9019314.html
建立Richardson成熟度2级的POST、GET、PUT、PATCH、DE
本文所需的一些预备知识可以看这里: http://www.cnblogs.com/cgzl/p/9010978.html 和 http://www.cnblogs.com/cgzl/p/9019314.html
建立Richardson成熟度2级的POST、GET、PUT、PATCH、DE