单元测试
发布日期:2021-06-30 17:24:36
浏览次数:2
分类:技术文章
本文共 2286 字,大约阅读时间需要 7 分钟。
某从未搞过单元测试,觉得好神秘!
但测试驱动,如雷贯耳,所谓未写代码,先写测试;博客园又有大神说,所谓的需求分析,应当具体化为测试用例。。。反正,单元测试就是好重要!
所以一直都想搞一搞。但网上的文章我看不大明白,这两天抓住难得的机会摸索了一下,好像有点眉目了。先记录一下,日后在此基础上再出发。
什么是单元测试?我感觉单元测试就是自动化测试。写一些相关的方法,来调用我们需要测试的方法,跑一遍。测试项目为此提供了便利。
比方说,我想对业务逻辑层的一些方法进行单元测试。首先在VS中右击该方法,选单元测试,建立单元测试项目。系统自动搭建了框架,完成了许多支撑代码。
不过,如何调用目标方法来进行测试,还需要我们自己完成。同时,令我诧异的是,调用目标方法所需要的一些动态库,也要我们自己手动添加!
单元测试的主要方法是Assert(断言)。比如,Assert.AreEqual(期望值,实际运行值)。如果两个值相符,则显示测试通过;否则红灯。
单元测试可以选定进行测试,也可以全部跑一遍。
还可以调试!方法是选VS菜单栏中的 测试 - 调试,方便得很。
有代码有机八:
namespace Services.User.Tests{ [TestClass()] public class UserHomeMadeServiceTests { readonly string connString = "。。。。。"; ISessionFactory sessionFactory; ISession session; IUserHomeMadeService service; [TestInitialize()]//测试环境初始化 public void Init() { sessionFactory = Fluently.Configure() .Database(FluentNHibernate.Cfg.Db.OracleClientConfiguration.Oracle10. ConnectionString(connString).ShowSql()) .ExposeConfiguration(f => f.SetInterceptor(new SqlStatementInterceptor())) .Mappings(m => m.FluentMappings.AddFromAssembly(Assembly.Load("这是一个数据库持久层代码文件名称"))) .BuildSessionFactory(); session = sessionFactory.OpenSession(); service = new UserHomeMadeService(new UserHomeMadeRepository(session)); } [TestCleanup()]//测试完毕大扫除 public void Cleanup() { session.Disconnect(); session.Dispose(); } [TestMethod()]//测试方法 public void SetModelTest() { ITransaction transaction = session.BeginTransaction(IsolationLevel.ReadCommitted); UserHomeMade hm = new UserHomeMade(); hm.USER_ID = 1; hm.HOME_MADE = System.Text.Encoding.GetEncoding("GB2312").GetBytes("大便干小便黄"); hm.CREATE_DATE = DateTime.Now; hm.EDIT_DATE = DateTime.Now; Assert.AreEqual(true, service.SetModel(hm)); transaction.Rollback(); } [TestMethod()] public void GetModelTest() { UserHomeMade hm = service.GetModel(1); string homemade = System.Text.Encoding.GetEncoding("GB2312").GetString(hm.HOME_MADE); Assert.AreEqual("大便干小便黄", homemade); } }}
转载地址:https://leftfist.blog.csdn.net/article/details/50059969 如侵犯您的版权,请留言回复原文章的地址,我们会给您删除此文章,给您带来不便请您谅解!
发表评论
最新留言
感谢大佬
[***.8.128.20]2024年04月09日 16时57分36秒
关于作者
喝酒易醉,品茶养心,人生如梦,品茶悟道,何以解忧?唯有杜康!
-- 愿君每日到此一游!
推荐文章
HDU-4300 Clairewd’s message + 4333(扩展KMP)
2019-04-30
HDU 1592 Half of and a Half(高精度)
2019-04-30
POJ-3304 Segments(计算几何)
2019-04-30
UVA-11538 Chess Queen(数学)
2019-04-30
UVA-11401 Triangle Counting(数学优化)
2019-04-30
Codeforces Round #369 (Div. 2)
2019-04-30
UVA 11426 GCD - Extreme (II)(欧拉函数)
2019-04-30
HDU-2838 Cow Sorting(树状数组)
2019-04-30
POJ-2299 Ultra-QuickSort(树状数组)(离散化)
2019-04-30
基于SSM的兼职论坛系统的设计与实现
2019-04-30
基于java的图书管理系统的设计与实现
2019-04-30
基于java的SSM框架理财管理系统的设计与实现
2019-04-30
基于java的ssm框架就业信息管理系统的设计
2019-04-30
基于java的ssm框架的旅游网站设计与实现
2019-04-30
基于java的SSM框架的流浪猫救助网站的设计与实现
2019-04-30
基于java的SSM框架的教务关系系统的设计与实现
2019-04-30
别再问我什么是A/B测试了!
2019-04-30
如何用同期群分析模型提升留存?(Tableau实战)
2019-04-30
爱了,吹爆这个高颜值的流程图工具!
2019-04-30