Jak przetestować usługę Grails za pomocą Spocka?
mamEncouragementService.groovy
następującą metodą
class EncouragementService {
def stripePaymentService
def encourageUsers(List<User> users){
if(null != users && users.size()>0){
for(User user : users){
//logic
stripePaymentService.encourage(user)
//
}
}
}
}
Aby przetestować powyższy kod w uniwersum JAVA, używając JUnit, najpierw utworzyłem dwóch lub trzech użytkowników w konfiguracji. Przekaż listę użytkowników doencourageUsers(...)
metoda i sprawdź, co chcę z wynikiem.
Jak mogę osiągnąć to samo w 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]
}
}
ja używamspock: 0,7
plugins {
test(":spock:0.7") { exclude "spock-grails-support" }
}