我有一组类,即数据传输对象,服务实现对象和数据访问对象。我目前在服务实现对象中有业务逻辑;它使用dao来获取数据以填充运回客户端/ gui代码的dto。
问题是我无法创建服务实现对象的轻量级junit测试(它是一个servlet);我认为业务逻辑应该在其他地方,但我唯一能想到的是将业务逻辑放在dao中或者在dao和服务实现之间的另一层中。
还有其他选择,还是我认为这是错误的方式?
这是一个GWT / App Engine项目。
答案 0 :(得分:1)
我不明白为什么你不能对servlet进行单元测试,例如根据{{3}}(其他类似主题) - 你能解释一下吗?
编辑:如果没有特殊原因,我建议你应该在服务层(它似乎属于哪里)的业务逻辑中进行单元测试 - 在SO中建议的方法例如,我引用的问题似乎相当轻便(尽管我没有专门测试它们)。
答案 1 :(得分:0)
您可以将业务逻辑放在自己的jar文件中,并独立于与Web(servlet)的集成来测试此组件
servlet只是一个协议,它不是你的业务逻辑,更像是一个集成点。
通过胖客户端公开相同的业务逻辑一定很容易想象。 同样在这种情况下,您不应该隐藏按钮或链接下的业务逻辑。
还有一点需要注意:您可能希望了解MVC框架;支柱。您的模型将保留业务逻辑。
希望这会有所帮助。
答案 2 :(得分:0)
servlet是控制器,将业务逻辑放在那里是一个非常大的错误。