CI/CD流水线中执行自动化单元测试
文章来源:测试窝
原文作者:Web Dev Tutor
译者:Yilia
文章版权归原作者所有,文章内容为作者个人观点,本公众号只提供转载参考
1
什么是单元测试?单元测试是一小段代码,用于测试应用程序编写的代码的逻辑。单元测试允许对代码进行快速内存测试,闭环开发人员代码验证反馈循环。
2
namespaceWebDevTutor{publicstaticclassCalculator{publicstaticintAdd(int addend1,int addend2){return addend1 + addend2;}publicstaticintSubtract(int minuend,int subtrahend){return minuend - subtrahend;}}}
usingXunit;namespaceWebDevTutor.Tests{publicclassCalculatorTests{[Fact]publicvoidAdd_ShouldReturn4When2And2AreAdded(){// Arrangeint expectedSum =4;// Actvar sum =Calculator.Add(2,2);// AssertAssert.Equal(expectedSum, sum);}[Fact]publicvoidSubtract_ShouldReturn90When10IsSubtractedFrom100(){// Arrangeint expectedDifference =90;// Actvar difference =Calculator.Subtract(100,10);// AssertAssert.Equal(expectedDifference, difference);}}}
3
开发人员代码验证反馈循环 预验证 步步为营 减少“另一个开发人员写了这段代码”的问题
4
通过单元测试提高开发速度。
判断当前代码是否修复错误的最快方法是什么?也许你启动了 UI 并创建了一系列点击事件来模拟用户流。或者启动 Postman 并开始用请求访问你的 API。这些测试习惯在需要时非常有用,但是如果只是对代码中的一个小单元进行更改怎么办?如果正在修复应用程序底层的一个简单错误,可能根本不需要运行 UI。甚至可能不需要在本地为API 启动调试会话。
我们可以通过添加平均每条不到 10 毫秒的命令行运行单元测试来缩短开发人员代码验证反馈循环。在编写验证修复错误的单元测试后,可以轻松(并重复)验证更改是否符合预期结果。不需要用UI按钮单击流,这些流对于测试小更改来说是过大的,可通过编写单元测试并通过命令行在本地运行它们来获得亚秒级的自动反馈。
5
6
7
乔梁老师开课啦~视频课程《持续部署训练营(Python版)》,原价1699元, 限时特价699元
你的软件开发效率够高吗?质量够好吗?你的团队多长时间才能向用户实时推送一个生产变更?你的软件在发布时,你是否因担心软件交付质量而感到压力倍增?你是否遇到过部署失败,甚至导致停机的情况?持续部署可以帮助你消除软件交付的痛苦,让你能专注于为客户高价值的需求,而不会因为这些交付执行类问题而花太多精力。本课程通过学练结合,理论结合实战,让你体验如何使用构建-测试-部署管道,进行持续部署。并练习如何在有效监控部署的同时,逐步发布功能特性,并作数据库结构变化。
(扫码订阅)