首页
学习
活动
专区
圈层
工具
发布
    • 综合排序
    • 最热优先
    • 最新优先
    时间不限
  • 来自专栏JAVA体系

    10. 单元测试

    测试通过执行软件的一系列操作,旨在发现潜在的错误、缺陷或问题,从而确保软件能够按照预期工作。而软件测试往往覆盖了不同的层次和类型,其中单元测试是针对软件中最小的独立单元(通常是函数或方法)进行的测试。 目标是确保每个单元独立地工作,并且对输入产生正确的输出。单元测试通常由开发人员编写,用于验证代码的正确性。 2、单元测试 单元测试是软件开发中的一种测试方法,用于验证代码中的最小单元(通常是函数或方法)是否按照预期工作单元测试旨在隔离和测试软件的各个独立部分,确保每个部分的行为都是正确的。 只有以test_开头的方法才其中才会被认为是单元测试函数,不然是普通函数,在执行单元测试套件时候是不会被执行的。 单元测试代码这里使用了断言assert,他会在判断成功后返回true,否则异常。 3.3、执行单元测试方式 执行单元测试方式有多种,上面代码中,在某个单元测试类中直接加上入口函数,这种也是最简单的。

    36910编辑于 2024-03-14
  • 来自专栏旋浮球的笔记本

    abp工作单元uow死锁

    ASP.NET Core Controller Actions(一个http请求)会被默认构建为一个工作单元。若在此工作单元内,再次发起一个http请求,并且更新同一条数据,则会造成死锁。

    61030编辑于 2023-01-18
  • 来自专栏一起玩转.NET

    如何运用领域驱动设计 - 工作单元

    如何实现工作单元 实现工作单元,就是要实现仓储中的事务操作。 uow工作单元中维持了一个事务,从该工作单元中创建的每一个仓储都可以获得该事务,仓储完成了自己的操作之后,工作单元使用Commit方法告诉事务管理器,该事务完成。 就是这么简单,该方法与上面那种从工作单元中获取仓储的方法想法,它是往工作单元中提交。 (比如一个EF,一个ADO),它们之间如何依靠工作单元来完成事务 没有识别什么时候需要开启工作单元,如果一个操作仅仅需要获取数据,其实我们是不需要开启工作单元的 不过如果您的项目仅仅使用了一种ORM框架并且只需要开启一个工作单元 在实现MiCake真正的工作单元中,我尝试了很多方法来解决上面的问题。在后面的文章中,您也会看到MiCake真正的工作单元。 附上一个当时写工作单元的手记( ̄︶ ̄)↗ ?

    1K20发布于 2020-04-27
  • 来自专栏林德熙的博客

    win10 UWP 单元测试

    我们在写代码的时候不能保证我们写出来的代码是正确的,所以我们经常要单元测试。 单元测试和重构都是在做完一个小小函数一般就要进行一次,越早做就越好,可以比较早发现问题,这时我们还记得我们写的内容,不过比重构好的是,重构我们经常不知道要叫什么名字,而单元测试反而就比较简单。 右击解决方案,添加新项目 C#->Windows->通用->单元测试应用 命名我是叫 测试 在新建单元测试右击引用 把工程引用 打开测试项目 一般测试哪个类我就会新建一个类名称和要测试类相同 我在做一个windows Markdown,里面有函数把剪贴的文本覆盖Textbox选文本,我不知道这个函数写的是不是对,于是我就在单元测试,新建一个类 测试函数所在的类是winmain,所以在单元测试新建一个类 我们在测试单元写测试输入下面代码,如何写测试的请去看下 测试代码如何写 相关的文章,也就是把所有可能的输入和想要的输出写出来,判断是不是程序运行和要的一样,如果不是的话,报错。

    44520编辑于 2022-08-09
  • 来自专栏啄木鸟软件测试

    单元测试工具(连载10

    4 Python单元测试框架pytest 4.1 pytest概述 pytest是python测试框架,与Python自带的unittest测试框架类似,但是比unittest框架使用起来更简洁,功能更强大

    75730发布于 2019-12-12
  • 来自专栏软件工程师Michael

    C#中的工作单元(Unit Of Work)

    . —— Martin Fowler按照Martin Fowler的说法,Unit Of Work实际也就是其字面意思,工作单元。在业务上,需要一个工作单元的稳定性,完整性。 类似于数据库中的事务,以防在业务操作单元中出了意外,可以回滚。更为直白的意思,就是在一个业务操作的方法中,可能对数据库的多个实体对象进行了删除,修改,新增等操作;那么我们希望它们的改动是统一,一致的。 MethodInfo; // 判断是否贴有工作单元特性 if (method == null || ! var resultContext = await next(); } else { // 获取工作单元特性

    1.4K40编辑于 2023-05-26
  • 来自专栏林德熙的博客

    win10 UWP 单元测试 WPF 单元测试异步测试

    我们在写代码的时候不能保证我们写出来的代码是正确的,所以我们经常要单元测试。 单元测试和重构都是在做完一个小小函数一般就要进行一次,越早做就越好,可以比较早发现问题,这时我们还记得我们写的内容,不过比重构好的是,重构我们经常不知道要叫什么名字,而单元测试反而就比较简单。 C#->Windows->通用->单元测试应用 ? 命名我是叫 测试 在新建单元测试右击引用 ? 把工程引用 ? 我在做一个windows Markdown,里面有函数把剪贴的文本覆盖Textbox选文本,我不知道这个函数写的是不是对,于是我就在单元测试,新建一个类 测试函数所在的类是winmain,所以在单元测试新建一个类 对于 WPF 的单元测试,可以新建一个控制台项目,然后右击引用 ?

    1.1K20发布于 2018-09-18
  • 来自专栏木宛城主

    Thinking In Design Pattern——Unit Of Work(工作单元)模式探索

    什么是Unit Of Work模式 Unit Of Work(工作单元)模式用来维护一个由已经被业务事物修改(增加、删除或更新)的业务对象组成的列表。 Unit  Of Work模式负责协调这些修改的持久化工作以及所有标记的并发问题。在数据访问层中采用Unit Of Work模式带来的好处是能够确保数据完整性。 Commit方法中的工作均被TransactionScope代码包装起来,如果在IUnitOfWorkRepository中执行任务时出现异常,则所有工作回滚,数据存储将保持原来的状态。 account); void Remove(Account account); } 添加AccountService服务类来协调两个账户之间的转账工作 ,AccountRepository实现了IAccountRepository和IUnitOfWorkRepository接口,IAccountRepository方法的实现简单地将工作委托给Unit

    3.3K50发布于 2018-01-11
  • 来自专栏DotNet NB && CloudNative

    .NET MongoDB数据仓储和工作单元模式封装

    为了更好地组织代码结构,提高开发效率和代码可维护性,可以将数据访问层与业务逻辑层解耦,使用数据仓储(Repository)模式和工作单元(UnitOfWork)模式来封装MongoDB数据库操作。 数据仓储模式通过抽象出通用的CRUD方法,使业务逻辑层无需关心数据的存储细节;工作单元模式则负责协调多个仓储操作,统一管理事务,确保数据的一致性。 五、实现工作单元模式 工作单元模式负责协调多个仓储操作,并统一管理事务。 七、总结 通过封装.NET MongoDB的数据仓储和工作单元模式,可以有效地解耦业务逻辑层与数据访问层,提高代码的可维护性和可重用性。 同时,工作单元模式的引入,使得在处理复杂的业务场景时,能够更好地管理事务,确保数据的一致性和完整性。在实际开发中,可以根据具体需求对这些封装进行扩展和优化,以满足不同的业务需求。

    52010编辑于 2025-01-22
  • 来自专栏初见Linux

    10-1 进程如何工作

    一、进程如何工作 父进程创建子进程 一个程序的运行可以触发其它程序的运行。 进程的有序进行 内核会保存每个进程的信息以便确保任务有序进行。

    59530发布于 2020-08-05
  • 来自专栏编程进阶实战

    .NET Core MongoDB数据仓储和工作单元模式封装

    前言          上一章我们把系统所需要的MongoDB集合设计好了,这一章我们的主要任务是使用.NET Core应用程序连接MongoDB并且封装MongoDB数据仓储和工作单元模式,因为本章内容涵盖的有点多关于仓储和工作单元的使用就放到下一章节中讲解了 工作单元模式(UnitOfWork)它是用来维护一个由已经被业务修改(如增加、删除和更新等)的业务对象组成的列表,跨多个请求的业务,统一管理事务,统一提交从而保障事物一致性的作用。 工作单元模式是“维护一个被业务事务影响的对象列表,协调变化的写入和并发问题的解决”。 具体来说,在C#工作单元模式中,我们通过UnitOfWork对象来管理多个Repository对象,同时UnitOfWork还提供了对事务的支持。 //注册数据库基础操作和工作单元 builder.Services.AddScoped<IMongoContext, MongoContext>(); builder.Services.AddScoped

    2.2K10编辑于 2023-04-28
  • 来自专栏EdisonTalk

    ASP.NET 6 使用工作单元操作 MongoDB

    最近工作中需要用到MongoDB的事务操作,因此参考了一些资料封装了一个小的组件,提供基础的CRUD Repository基类 和 UnitOfWork工作单元模式。 clientSession.AbortTransaction(); } } 在大部分的实际应用中,我们通常都习惯使用数据仓储(Repository)的模式来进行CRUD,同时也习惯用工作单元 :使用Repository 和 UnitOfWork # 非事务模式 await _taskRepository.AddManyAsync(newTasks); # 事务模式(借助UnitOfWork工作单元 小结 本文介绍了MongoDB事务的基本概念和如何通过.NET操作事务,重点介绍了EDT.MongoProxy这个小组件的设计,让我们可以在ASP.NET 6应用中通过数据仓储(Repository)和工作单元 GitHub:https://github.com/Coder-EdisonZhou/EDT.MongoProxy 参考资料 追逐时光者,《.NET Core MongoDB数据仓储和工作单元实操》  

    70910编辑于 2023-07-21
  • 来自专栏跟着阿笨一起玩NET

    Asp.Net Core工作单元UnitOfWork数据访问模式

    • 缺点:     1)、多个Repository之间怎么保存在一个事务单元内的操作? 三、UnitOfWork工作单元模式 1. 什么叫工作单元? 为什么要工作单元?   比如在Action这里启动一个工作单元,后续所有的业务都使用同一个事务 和 DbContext,这才是我们的预期的。 3. 如何使用工作单元

    1.8K10发布于 2020-10-23
  • 来自专栏数据小魔方

    用编程赋能工作系列——解锁合并单元格问题

    能把学习的编程技能用在实际工作中,提升效率、解决痛点、释放生产力,个人觉得是学习编程技能ROI最高的回报,而非都要挤破头成为数据科学家、算法工程师,毕竟这些职业的门槛一直都在,但让工作更轻松却是任何一个职业都有的真实诉求 所以打算从20年初开始,公众号新开一个栏目,定位是职场办公主题(毕竟已经从校园进入职场两年多了),解决大家日常工作中那些操作繁琐、希望通过编程手段来流程化、系统化、自动化的工作痛点和难题。 >>>> 以下是学习时间 ---- 新栏目开篇是最近遇到的一个小case,场景如下图所示,不太好用文字描述这个功能叫啥,索性就叫做解锁合并单元格吧。 ? 这种情况,相信在很多包含非结构化数据的汇总分析中经常遇到,如果不把表格中右侧合并在单元格中的多行内容汇总到单行单元格中(如图右半部分所示的理想情况),那么要想做全局性的汇总统计分析工作就很困难。 还是那句话,不求一定要成为数据科学家、AI工程师、算法工程师,能让你的职场工作更高效,留些时间多陪陪父母和孩子、陪陪伴侣和朋友,不要在枯燥繁琐的工作中一筹莫展、泥足深陷,学会借力、借势,让工具赋能工作

    92630发布于 2020-02-25
  • 来自专栏完美Excel

    工作表事件示例:输入数据后锁定单元

    标签:VBA,工作表事件 在工作单元格中输入数据后,该单元格就被锁定,不能再编辑。 打开VBE,在工程资源管理器中双击该工作表名称打开其代码模块,在其中输入下面的代码: '假设整个工作表的Locked=False Private Sub Worksheet_Change(ByVal Target End If End If End With Next rCell End Sub 这里,假设锁定工作表的密码为“123”。 可以使用右击单元格的方式,来重置想要重新输入数据的单元格。 ,会弹出一个消息框,询问你是否要重置这个单元格,如果点击“是”,则会清空该单元格并供输入新数据。

    84110编辑于 2024-06-18
  • 来自专栏编程进阶实战

    .NET Core MongoDB数据仓储和工作单元模式实操

    前言   上一章节我们主要讲解了MongoDB数据仓储和工作单元模式的封装,这一章节主要讲的是MongoDB用户管理相关操作实操。 NET Core使用MongoDB开发ToDoList系统(3)-系统数据集合设计 MongoDB从入门到实战之.NET Core使用MongoDB开发ToDoList系统(4)-MongoDB数据仓储和工作单元模式封装 MongoDB从入门到实战之.NET Core使用MongoDB开发ToDoList系统(5)-MongoDB数据仓储和工作单元模式实操 YyFlight.ToDoList项目源码地址 欢迎各位看官老爷 userOperationExampleServices.Delete(id); return Ok(deleteUser); } } 注册数据库基础操作和工作单元 //注册数据库基础操作和工作单元 builder.Services.AddScoped<IMongoContext, MongoContext>(); builder.Services.AddScoped

    1K20编辑于 2023-04-17
  • 来自专栏完美Excel

    自动修改工作表名称为单元格中的值

    标签:VBA,工作表事件 当你想要随着工作表变化而让Excel自动做一些事情的时候,工作表事件是最能帮助你的了。之前的文章中,介绍过很多与工作表事件相关的基础知识和应用案例,今天再来一个示例。 当某单元格中的值修改后,其所在的工作表名称也相应修改为该单元格中的值。 = "A1" Const strERROR As String = "在单元格中是无效的工作表名称" Dim strSheetName As String With Target If A1中的数据为工作表名称,即用户在单元格A1中输入数据后,按下回车键,工作表名称即修改为单元格A1中的内容。 你可以根据需要修改关联单元格为你想要的单元格。

    2.6K10编辑于 2023-12-19
  • 来自专栏软件测试经验与教训

    10年软件测试工作总结

    时光荏苒,从毕业到现在已经10年,10年来一直从事着软件测试的工作。从一个什么都不会,到测试技术人员再到测试管理,期间有迷茫,有痛苦,有弯路,有捷径。 今天对自己过去的10年测试经历做一个总结,一是给自己重新出发增加动力,二是给刚入道的、迷茫中的测试朋友一点点建议,希望你们少走弯路。 首先,谈谈测试职业规划,即做什么的问题。 按此比例计算,如果以每天工作8小时,一周工作5天计算,那么成为一个领域的专家需要4-5年的时间。 ,很难开展后续的管理工作。 关于如何成长为性能测试专家:刚进入测试管理岗位,你负责的工作一定是功能测试任务。没有机会接触性能测试工作。怎么办?

    1.4K81发布于 2018-05-15
  • 来自专栏c语言与cpp编程

    工作原理以及典型面试10

    工作原理 以hello word程序为例来看看,将下述代码存成hello.c #include <stdio.h> #define STR "hello world" /*这是一个hello word 宏有两种常见形式: 大致说明了宏的工作原理,来看看一些常见的面试问题: 不带参形式(有的地方也称对象形式object-like)。 C) 0 (D) 编译错误 #include <stdio.h> #define SQUARE(x) x*x int main() { int x; x = 2000/SQUARE(10 ); printf("%d", x); return 0; } 答案:B 解析:预处理器用10*10替换SQUARE(10),表达式变为 x = 2000/10 * 10,x的值计算为 本文总结了宏的基本工作原理,以及10个比较典型的面试问题,相信对于宏理解不深的盆友会有些许帮助。 如喜欢请点赞/在看/分享支持!

    75810发布于 2020-12-02
  • 来自专栏京程一灯

    在 Google 工作 10 年,到底能学到啥?

    后面四五年大致都在 Knowledge Graph 的范畴内工作,这些工作和 Google 搜索、Google Now 最近几次大幅度的变革密不可分。 其间,代码写了不少,团队也带过好几个。 性取向如此,恋爱、婚姻、家庭、工作、事业无不如此。 接下来,提交新代码前,各种静态、动态检查工具自动运行,帮你报出一系列风格错误、编译错误、单元测试错误和简单的逻辑错误,你得先依着工具的提示,把这些低级别错误改一遍,然后才进入 Peer Review 的环节 我就先后两次把团队交给别人带,自己乐得去做些单纯的代码工作。 有一种感觉是我开始在 Google 工作才有的。而且,那感觉越来越清晰,越来越吸引人,以至于十年下来,我几乎把这种感觉视为我工作时的第一推动力了。

    76510发布于 2019-03-28
领券