2013-10-02 7 views
7

परीक्षण वायदा का मेरा तरीका मूल्य 1 का उपयोग कर रहा था। मैं play2.2 में माइग्रेट किया गया। मैंने पाया, परीक्षण करने का मेरा आदी तरीका चला गया है। @ scala.deprecated ("scala.concurrent.Promise का उपयोग करें।", "2.2")प्ले 2.2 - specs2 - प्ले 2.2 में वायदा का परीक्षण कैसे करें?

किसी भी मदद की सराहना की जाएगी।

ओलिवर

उत्तर

11

आप PlaySpecification विशेषता documentation में वर्णित के रूप लागू कर सकते हैं। यह विशेषता एक विधि का इंतजार करती है। आप डिफ़ॉल्ट टाइमआउट को ओवरराइड भी कर सकते हैं।

import akka.util.Timeout 
import scala.concurrent.duration._ 

class FooSpec extends PlaySpecification { 
    override implicit def defaultAwaitTimeout: Timeout = 20.seconds 

    "foo" should { 
    "handle futures" { 
     val result = await(Future(true)) 

     result should beTrue 
    } 
    } 
} 
2

आप किसी एकल परीक्षण परिदृश्य के लिए डिफ़ॉल्ट टाइमआउट, इसलिए जैसे ओवरराइड कर सकते हैं:

import akka.util.Timeout 
import scala.concurrent.duration._ 

class FooSpec { 
    "foo" should { 
    "handle futures" with DefaultAwaitTimeout { 
     override implicit def defaultAwaitTimeout: Timeout = 20.seconds 
     val result = await(Future(true)) 

     result should beTrue 
    } 
    } 
} 

एक विशिष्ट स्थान पर अपने कोड रोकने के लिए, का उपयोग

Thread.sleep(milliseconds) 
संबंधित मुद्दे