मैं विधिस्पॉक का उपयोग कर Grails सेवा का परीक्षण कैसे करें?
class EncouragementService {
def stripePaymentService
def encourageUsers(List<User> users){
if(null != users && users.size()>0){
for(User user : users){
//logic
stripePaymentService.encourage(user)
//
}
}
}
}
निम्नलिखित जावा ब्रह्मांड में कोड ऊपर का परीक्षण करने के लिए, मैं पहली बार सेटअप में दो या तीन उपयोगकर्ताओं को बनाने हैं JUnit का उपयोग कर के साथ एक EncouragementService.groovy
है। उपयोगकर्ताओं की सूची 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" }
}
"धैर्य" [मेरा नाम] है (http://www.ask.com/question/what-is-the-meaning-of-the-name- धीरज), मैं मजाक नहीं कर रहा हूं;)। स्पष्ट रूप से बोलते हुए, हाल ही में मेरे पास एक [प्रेजेंटेशन] था (http://dmahapatro.github.io/bdd-grails-spock-presentation/#/) स्थानीय Grails उपयोगकर्ता समूह में स्पॉक पर, इसलिए मैंने सोचा कि मैं कुछ काम करने के बारे में बताऊंगा पर। ;) @ सेरिजियो मिशेल – dmahapatro
@dmahapatro जब उपयोगकर्ता 'grails-app/domain' आधारित इकाई नहीं है, तो मुझे' विफलता मिलती है: परीक्षण उपयोगकर्ता ठीक तरह से संभाले जाते हैं (np.zazzercode.service.EncouragementServiceSpec) | org.codehaus.groovy.grails.exceptions.GrailsConfigurationException: डोमेन क्लास [वर्ग np.zazzercode.domain.User] जोड़ नहीं सकता है। यह एक डोमेन नहीं है! \t grails.test.mixin.domain.DomainClassUnitTestMixin.registerGrailsDomainClass पर (DomainClassUnitTestMixin.groovy: 209) ' – prayagupd
@PrayagUpd हां, यदि उपयोगकर्ता एक डोमेन वर्ग नहीं है, तो आप की जरूरत नहीं होगी' @ Mock' है कि मैं क्या मतलब जवाब में – dmahapatro