我必须在Wicket(或采用任何MVC框架)中编写代码,给出2个变量A和B提供布尔结果C,它告诉某事物(一个复选框)是否可见。
现在这是视图逻辑,但是我们说它并不像以下那样微不足道:C = A&& B; 也许一些自动化测试很好。
你会把这个逻辑放在哪里?可以将它放在模型/服务层并使用JUnit进行测试吗?在我的理解中,模型和服务是为业务逻辑保留的。
或者你可以将它保存在视图中,在这种情况下,你可以使用像Selenium这样的东西进行测试吗?
或者在某个Utility包中构建一些静态方法?
我会构建它以完成任务并为它构建一个简单的测试,但不要将它与服务混合。所以我会选择静态实用方法。
答案 0 :(得分:1)
我在我的一个wicket MVC项目中也使用了复杂的可见性逻辑,我把这个逻辑放到了服务层中,我用 JUnit 测试了这段代码。我还有 wickettester 测试,它也会测试复选框的可见性。我不知道最好的方法是什么,但想想这种方式也不错。希望能帮助到你。
答案 1 :(得分:0)
来自技术无关的p.o.v.我会说这听起来像是一种与视图状态交互的逻辑。所以这个逻辑属于演示者/控制器。
由于演示者/控制器是一个类 - 您应该能够在不将视图添加到混合中的情况下进行测试。我是按照MVP或MVVM的想法去做的。
答案 2 :(得分:0)
它是视图逻辑,因此它应该在视图层中。
我个人会用Selenium测试一下。这取决于你如何进行可视性,使用wicket测试器可能就足够了,但所有的视图逻辑都应该使用像Selenium这样的工具在真实的浏览器上进行测试。
您绝对不应该使用静态实用程序方法,为什么要查看here