Wie teste ich Grails Service mit Spock?
Ich habe einEncouragementService.groovy
mit folgender Methode
class EncouragementService {
def stripePaymentService
def encourageUsers(List<User> users){
if(null != users && users.size()>0){
for(User user : users){
//logic
stripePaymentService.encourage(user)
//
}
}
}
}
Um den obigen Code im JAVA-Universum zu testen, würde ich mit JUnit zuerst zwei oder drei Benutzer im Setup erstellen. Übergeben Sie die Liste der Benutzer anencourageUsers(...)
Methode und überprüfen Sie, was ich mit dem Ergebnis wollen.
Wie kann ich hier in Grails dasselbe erreichen,
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]
}
}
ich benutzeSpock: 0,7
plugins {
test(":spock:0.7") { exclude "spock-grails-support" }
}