Как протестировать сервис Grails с помощью Spock?
у меня естьEncouragementService.groovy
с помощью следующего метода
class EncouragementService {
def stripePaymentService
def encourageUsers(List<User> users){
if(null != users && users.size()>0){
for(User user : users){
//logic
stripePaymentService.encourage(user)
//
}
}
}
}
Чтобы протестировать приведенный выше код во вселенной JAVA, используя JUnit, я сначала должен создать двух или трех пользователей в настройке. Передать список пользователейencourageUsers(...)
метод и проверить все, что я хочу с результатом.
Как я могу добиться того же здесь в Grails,
import com.github.jmkgreen.morphia.Datastore;
@TestFor(EncouragementService)
class EncouragementServiceSpec {
def morphiaService = new MorphiaService()
void testEncourageUsers() {
List<User> users = createUsers();
encouragementService.(users)
//
}
def createUsers(){
Datastore datastore = morphiaService.dataStoreInstance()
def user = new User()
user.setName("Prayag Upd")
//
datastore.save(user)
[user]
}
}
Я используюSpock: 0,7
plugins {
test(":spock:0.7") { exclude "spock-grails-support" }
}