java – 在我的系统中模拟/测试核心对象
我被要求改变一些对我们工作的系统来说是核心的类.有问题的类每个都需要5-10个不同的相关对象,这些对象本身需要相同数量的对象.
数据也从几个数据源中提取,项目使用EJB2,因此在测试时,我运行时没有容器来引入我需要的依赖项! 我开始对这项任务感到不知所措.我已经尝试过使用JUnit和Easymock进行单元测试,但是只要我模拟或存根一件事,我发现它需要更多.所有东西似乎都紧密耦合,以便我用我的存根达到大约3或4级,以防止NullPointerExceptions. 通常使用这种类型的任务,我只需要进行更改和测试.但最短的构建周期大约是10分钟,我喜欢在执行之间进行非常短的迭代编码(可能因??为我对编写完美代码的能力不太自信). 任何人都知道一个好的策略/工作流程来摆脱这个泥潭? 解决方法
正如你的建议,听起来你的主要问题是你正在使用的API太紧密耦合了.如果您能够修改API,那么隐藏接口后面的直接依赖关系会非常有帮助,这样您就可以在直接依赖关系中切断依赖关系图.
如果无法做到这一点,自动模拟容器可能会有所帮助.这基本上是一个容器,它自动指出如何返回嵌套抽象的具有良好默认行为的模拟.当我在.NET框架上工作时,我不推荐任何Java. 如果您想了解单元测试模式和最佳实践,我只能推荐xUnit Test Patterns. 对于解耦紧耦合代码的策略,我建议Working Effectively with Legacy Code. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |