Có cách nào để kiểm tra bộ điều khiển sử dụng bộ lọc trên thử nghiệm tích hợp không?Bộ lọc kiểm tra tích hợp Grails
Dường như có cách sử dụng chú thích @Mock cho Bài kiểm tra đơn vị và hơn bao gói cuộc gọi bộ điều khiển trên một kết thúc withFilter.
Nhưng tôi không thể thử nghiệm các bộ lọc trên một bài kiểm tra tích hợp mà từ pov của tôi nên rất thẳng về phía trước.
Cập nhật
Vì vậy, đây là giải pháp tôi tìm thấy. Thay vì sử dụng chú giải @Mock, tôi đã khởi tạo lớp FiltersUnitTestMixin và điền nó với các giá trị cần thiết.
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()
}
}
}