Tôi đang sử dụng Đặc điểm để làm bộ điều khiển DRY. Tôi muốn đơn vị kiểm tra lớp Trait sử dụng Spock. Đây là đặc điểm mẫu của tôi và test Spock tương ứng:Làm thế nào để viết một trường hợp kiểm tra đơn vị spock cho các đặc điểm trong grails 2.4?
trait SomeTrait {
public void checkSomething (Closure c){
// Do some operation
c.call
}
}
@TestMixin(GrailsUnitTestMixin)
class SomeTraitSpec extends Specification {
void "test checkSomething "(){
setup:
MockedClass mockedObj = new MockedClass()
def x=0
def c = {
x=1
}
when:
mockedObj.checkSomething(c)
then:
assert x==1
}
}
class MockedClass implements PermissionTrait {
// some thing
}
Từ đặc điểm là một giao diện, tôi đã một lớp chế giễu trong trường hợp thử nghiệm của tôi được thực hiện Trait, tôi tạo ra một đối tượng của lớp chế giễu này và gọi tôi Phương pháp tra cứu mà tôi muốn thử nghiệm. Đây có phải là cách tiếp cận chính xác, nếu không xin vui lòng chỉ đúng hướng với một ví dụ thích hợp.
Có ai phải đối mặt với tình huống như vậy không? –