nunit

【asp.net core 系列】6 实战之 一个项目的完整结构

岁酱吖の 提交于 2020-08-09 08:54:14
0. 前言 在《asp.net core 系列》之前的几篇文章中,我们简单了解了路由、控制器以及视图的关系以及静态资源的引入,让我们对于asp.net core mvc项目有了基本的认识。不过,这些并不是 asp.net core mvc项目的全部内容,剩下的内容我将结合实战项目为大家讲解其中的知识。现在,就让我们开始吧。 1. 项目构建 抛开之前的项目,现在跟着我重新创建一个项目,第一步依旧是先创建一个解决方案: dotnet new sln --name Template 我先介绍一下这个项目(指整个项目,不是单独的asp.net core 应用),这是一个后台管理的模板应用,提供了常见后台系统(管理员端)的功能,包括员工管理、部门管理、角色管理等功能。 现在回到项目中,通常一个项目需要一个模型层,一个数据提供层以及web展示层。然后,我们依次创建 Data、Domain、Web 三个项目,其中Data和Domain 是 classlib,Web是mvc项目。 # 确保当前目录与 Template.sln 处于相同的目录 dotnet new classlib --name Data dotnet new classlib --name Domain dotnet new mvc --name Web 添加三个项目到解决方案中: dotnet sln add Data

自动化测试框架知识,读这一篇就够了

余生颓废 提交于 2020-08-09 04:06:37
自动化测试因其节约成本、提高效率、减少手动干预等优势已经日渐成为测试人员的“潮流”,从业人员日益清楚地明白实现自动化框架是软件自动化项目成功的关键因素之一。本篇文章将从 什么是真正的自动化测试框架、自动化脚本如何工作以及自动化测试框架会如何在测试过程中为你提供竞争优势 三个方面进行阐述,让您通过这一篇文章,踏入自动化测试框架的领域。 私信我领取视频教程 自动化软件测试交流群:642830685,领取最新软件测试资料大厂面试和Python自动化学习资料!一起学习交流 自动化测试的优势 自动化测试的流行和诸多优势并不意味着它是灵丹妙药,定制型项目、周期短、测试易用性等情况并不适合自动化测试。但不可否认的是,如果认真计划和执行自动化测试框架,确实会为软件开发和测试公司带来以下好处: 最短时间-最大收益 构建任何可行的自动化测试框架和自动化脚本都可以最大程度地减少编写和运行测试所花费的时间,从而可以在短时间内获得最大的输出。另外,拥有优秀的自动化测试框架后,人力就可以从诸如同步、错误管理、本地配置,报告生成、解释等这些常见问题中解脱出来。 可重复使用和可读的自动化代码 当你使用现有组件库中提到的代码时,大可以放心,它在以后的时间内仍然是可读和可重复使用的,并且所有相关任务(如报告、同步和故障排除)都将变得更易访问。 资源优化 一些公司没有如设想的一般从自动化实施中受益

自动化测试的三两事儿

眉间皱痕 提交于 2020-08-08 01:25:19
顾翔老师的《软件测试技术实战设计、工具及管理》网上购买地址: https://item.jd.com/34295655089.html 《基于Django的电子商务网站》网上购买地址: https://item.jd.com/12082665.html 店铺二维码: 来源:https://www.testwo.com/ 写在前面 自动化测试已成为软件测试过程中采用最广泛的技术之一,它有助于加速产品的交付进程。但是在很多企业中,由于一些误解,高层往往会犹豫要不要在其项目中实施自动化测试。现在甚至可以在一些自动化测试的相关论坛上找到测试人员对测试自动化中的ROI进行质疑,自动化测试到底值得我们付出努力吗?答案自然是肯定的,自动化测试不仅可以提高应用程序的可靠性,还可以加快测试过程,提高测试覆盖率,也可以给测试人员提供信心,以更好地进行产品质量测试。但是,现实是残酷的,在大多数情况下,自动化测试的好处并未得到充分体现。反而,围绕自动测试存在许多误解,使部分企业现在仍然坚持使用手动测试。 什么是自动化测试 定义自动化测试非常容易,一次次地运行测试用例,而无需手动执行的过程称为自动化测试。与手动测试不同的地方是,自动化测试是使用自动化测试工具来执行测试脚本。 自动化测试的分类 要知道其实并非软件测试的每个阶段都可以进行自动化测试,自动化测试分为以下几类。 单元自动化测试

【揭秘】阿里测试框架,各大CTO良心力荐

旧时模样 提交于 2020-08-04 19:20:52
自动化测试因其节约成本、提高效率、减少手动干预等优势已经日渐成为测试人员的“潮流”,从业人员日益清楚地明白实现自动化框架是软件自动化项目成功的关键因素之一。本篇文章将从 什么是真正的自动化测试框架、自动化脚本如何工作以及自动化测试框架会如何在测试过程中为你提供竞争优势 三个方面进行阐述,让您通过这一篇文章,踏入自动化测试框架的领域。 自动化测试的优势 自动化测试的流行和诸多优势并不意味着它是灵丹妙药,定制型项目、周期短、测试易用性等情况并不适合自动化测试。但不可否认的是,如果认真计划和执行自动化测试框架,确实会为软件开发和测试公司带来以下好处: 最短时间-最大收益 构建任何可行的自动化测试框架和自动化脚本都可以最大程度地减少编写和运行测试所花费的时间,从而可以在短时间内获得最大的输出。另外,拥有优秀的自动化测试框架后,人力就可以从诸如同步、错误管理、本地配置,报告生成、解释等这些常见问题中解脱出来。 可重复使用和可读的自动化代码 当你使用现有组件库中提到的代码时,大可以放心,它在以后的时间内仍然是可读和可重复使用的,并且所有相关任务(如报告、同步和故障排除)都将变得更易访问。 资源优化 一些公司没有如设想的一般从自动化实施中受益,因为从自动化测试中获得的效益取决于采用它的灵活性。 如果自动化系统是灵活的,并且与从事各个组件的不同团队兼容

自动化测试框架知识,读这一篇就够了

被刻印的时光 ゝ 提交于 2020-07-28 18:29:41
自动化测试因其节约成本、提高效率、减少手动干预等优势已经日渐成为测试人员的“潮流”,从业人员日益清楚地明白实现自动化框架是软件自动化项目成功的关键因素之一。本篇文章将从 什么是真正的自动化测试框架、自动化脚本如何工作以及自动化测试框架会如何在测试过程中为你提供竞争优势 三个方面进行阐述,让您通过这一篇文章,踏入自动化测试框架的领域。 私信我领取视频教程 自动化软件测试交流群:642830685,领取最新软件测试资料大厂面试和Python自动化学习资料!一起学习交流 自动化测试的优势 自动化测试的流行和诸多优势并不意味着它是灵丹妙药,定制型项目、周期短、测试易用性等情况并不适合自动化测试。但不可否认的是,如果认真计划和执行自动化测试框架,确实会为软件开发和测试公司带来以下好处: 最短时间-最大收益 构建任何可行的自动化测试框架和自动化脚本都可以最大程度地减少编写和运行测试所花费的时间,从而可以在短时间内获得最大的输出。另外,拥有优秀的自动化测试框架后,人力就可以从诸如同步、错误管理、本地配置,报告生成、解释等这些常见问题中解脱出来。 可重复使用和可读的自动化代码 当你使用现有组件库中提到的代码时,大可以放心,它在以后的时间内仍然是可读和可重复使用的,并且所有相关任务(如报告、同步和故障排除)都将变得更易访问。 资源优化 一些公司没有如设想的一般从自动化实施中受益

【asp.net core 系列】- 11 Service层的实现样板

与世无争的帅哥 提交于 2020-07-28 12:25:29
0.前言 在《asp.net core 系列》之实战系列中,我们在之前的篇幅中对项目有了一个大概的认知,也搭建了一个基础的项目骨架。那么就让我们继续完善这个骨架,让它更加丰满。这一篇,我将带领小伙伴们一起实现用户管理功能。 1. 数据表 一般情况下,我们会把用户表和登录信息表放在两个表里。为什么会这样设计呢?出于以下几种考虑: 使功能分割,用户信息管理是用户管理,登录是登录 增加安全,降低无关信息的查询,例如访问登录接口不会连带检索用户的普通信息,当进行用户信息管理的时候,不会把登录信息也带过来 等等 废话不多说,直接上代码: namespace Data.Enums { /// <summary> /// 登录类型 /// </summary> public enum LoginType : byte { /// token登录 Token, /// 用户名密码 Password } /// <summary> /// 性别 /// </summary> public enum SexEnum { /// 男 Male, /// 女 Female, /// 隐私 None } } SysUserAuthEntity.cs using Data.Enums; using Data.Infrastructure; namespace Data.Models { public

基于javax.validation自定义日期范围校验注解

怎甘沉沦 提交于 2020-07-28 02:01:53
实际项目中经常需要对传入的日期时间进行判断,如是否为一年内,几个月之内,几天前,几天之内等等的需求。如要求前端传入的日期是要为当前日期一年内的某个日期,基于jdk8的LocalDateTime or LocalDate等常用的做法如下: // 前端传字符串如‘2020-07-13 09:09:09’ springmvc接收并转换为LocalDateTime类型 @JsonFormat(shape = JsonFormat.Shape.STRING, pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8") private LocalDateTime endTime; LocalDateTime now = LocalDateTime.now(); // jdk8校验传入日期是否为一年内 boolean flag = endTime.isBefore(now.plusYears(1)) 基于上述的做法通常是比较通用的模式,如果每个日期时间都重复如此判断,略微繁琐,于是可以通过javax.validation的自定义校验注解来作用于实体属性上,借住hibernate-validate与springmvc结合来解决此类日期时间的范围校验。 DateTimeRange.java 用于LocalDateTime or

NUnit: SetUp and TearDown for each test in a test fixture across multiple Fixtures

為{幸葍}努か 提交于 2020-07-20 10:40:14
问题 I would like to have a generic SetUp and TearDown that is run with every test across multiple fixtures but all within a common namespace. This would be something similar to the [SetUpFixture] attribute but would be run with every test. I've tried using a base class with [SetUp] but resharper resolves this as inconclusive which isn't really ideal. 回答1: I dont see any problem in using a base class with the generic code. public class BaseTest { [SetUp] public void SetUp() { //Do generic Stuff }

How to run some NUnit tests only in azure devops CI env but not locally

天大地大妈咪最大 提交于 2020-06-29 03:49:00
问题 Identical to this: How to run some tests only in azure devops CI env but not locally, but for NUnit, rather than xUnit. I want some of my test to get run by my Azure DevOps pipeline, but not by my local (VisualStudio + R#) IDE. Linked question solves this with a custom xUnit Attribute, but my project uses NUnit so answers to that question won't help. 回答1: Extend NUnitAttribute and IApplyToTest(Test test) to create a custom attribute that will allow you to control whether or not a particular

How to run some NUnit tests only in azure devops CI env but not locally

江枫思渺然 提交于 2020-06-29 03:48:15
问题 Identical to this: How to run some tests only in azure devops CI env but not locally, but for NUnit, rather than xUnit. I want some of my test to get run by my Azure DevOps pipeline, but not by my local (VisualStudio + R#) IDE. Linked question solves this with a custom xUnit Attribute, but my project uses NUnit so answers to that question won't help. 回答1: Extend NUnitAttribute and IApplyToTest(Test test) to create a custom attribute that will allow you to control whether or not a particular