小编Gui*_*tos的帖子

Grails集成测试过滤器

有没有办法测试在集成测试中使用过滤器的控制器?

似乎有一种方法使用@Mock注释进行单元测试,而不是将控制器调用包装在withFilter闭包上.

但是我无法在集成测试中测试过滤器,从我的pov应该非常直接.

更新

所以这是我找到的解决方案.我没有使用@Mock注释,而是实例化了FiltersUnitTestMixin类并使用必要的值填充它.

public class ControllerTest {  

    def controller = new Controller()  
        FiltersUnitTestMixin f = new FiltersUnitTestMixin()

    @Before
    public void setup() {
        f.grailsApplication = grailsApplication
        f.applicationContext = grailsApplication.mainContext
        f.mockFilters(ControllerFilters)
    }

    @Test
    public void shouldPassTheTest() {
        f.withFilters(action:"actionName") {
            controller.actionName()
        }
    }
}
Run Code Online (Sandbox Code Playgroud)

testing integration grails filter

5
推荐指数
1
解决办法
1270
查看次数

标签 统计

filter ×1

grails ×1

integration ×1

testing ×1