学习敏捷开发的时候接触到了单元测试。当时感觉这种方法真是太好了,测试功能代码是否如你想象的那样工作,可以减少以后的调试,也能给重构带来很多的方便。
但现在我发现,在复杂的系统中,要做单元测试并不是那么容易的。这里我要声明一点,目前我为之写测试代码的系统基本已经开发了很久了,现在是想为方便以后的修改或重构而引入单元测试的。
我这里主要要说的是系统的耦合度一旦比较高,写测试代码让我感觉相当困难。比如我们的系统(WEB)它是页面通过Remoting去连接服务器端的一个OM,然后传一个对象(这个对象包含了页面的信息)给OM,由OM进行处理产生一些字符序列,然后OM再调用另外程序集的方法根据产生的字符序列对数据库做相应的操作。这里,连接数据库的操作是由OM里的程序完成的,而对数据库的操作是由OM调用的那块程序集完成的,而我目前就是要对这块程序集写测试代码,而正是这样一段测试代码难住了我。
所谓单元测试,我的理解就是测试当下的代码片断中的方法。我们根据代码的需求赋给它需要的参数,然后看代码是否传回我们期望的结果。我认为这个过程中应该不涉及别的部分的代码(特别是底层的代码,高层的代码另当别论了)。但目前我这里的情况是,OM做了很多事是我不知道的,尤其是经OM产生的对象。而且这里的代码也和页面的Session关系密切,这就更增加了难度。
所以我目前对单元测试感觉到了困惑,不明白这种情况下的单元测试该如何进行。希望有这方面经验的高手能给我建议!
这是第一次放首页,我是希望有更多的人能给我建议,dudu如果觉得不合适,请至少保留半天,谢谢!
最后还是希望大家能给我帮助,指点迷津……
但现在我发现,在复杂的系统中,要做单元测试并不是那么容易的。这里我要声明一点,目前我为之写测试代码的系统基本已经开发了很久了,现在是想为方便以后的修改或重构而引入单元测试的。
我这里主要要说的是系统的耦合度一旦比较高,写测试代码让我感觉相当困难。比如我们的系统(WEB)它是页面通过Remoting去连接服务器端的一个OM,然后传一个对象(这个对象包含了页面的信息)给OM,由OM进行处理产生一些字符序列,然后OM再调用另外程序集的方法根据产生的字符序列对数据库做相应的操作。这里,连接数据库的操作是由OM里的程序完成的,而对数据库的操作是由OM调用的那块程序集完成的,而我目前就是要对这块程序集写测试代码,而正是这样一段测试代码难住了我。
所谓单元测试,我的理解就是测试当下的代码片断中的方法。我们根据代码的需求赋给它需要的参数,然后看代码是否传回我们期望的结果。我认为这个过程中应该不涉及别的部分的代码(特别是底层的代码,高层的代码另当别论了)。但目前我这里的情况是,OM做了很多事是我不知道的,尤其是经OM产生的对象。而且这里的代码也和页面的Session关系密切,这就更增加了难度。
所以我目前对单元测试感觉到了困惑,不明白这种情况下的单元测试该如何进行。希望有这方面经验的高手能给我建议!
这是第一次放首页,我是希望有更多的人能给我建议,dudu如果觉得不合适,请至少保留半天,谢谢!
最后还是希望大家能给我帮助,指点迷津……
分类:
敏捷软件开发
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 园子的第一款AI主题卫衣上架——"HELLO! HOW CAN I ASSIST YOU TODAY
· 【自荐】一款简洁、开源的在线白板工具 Drawnix