2013-01-11 28 views
5

Tôi có một thử nghiệm rất đơn giản và tôi đang cố gắng để thử một đặc điểm. Kiểm tra thậm chí không chạy, và nó không thành công với lỗi khởi tạo: java.lang.IllegalArgumentException: yêu cầu không thành công: Bạn đã nhớ sử dụng withExpectations chưa?Tôi làm cách nào để sử dụng các proxy proxy của ScalaMock?

Dưới đây là bài kiểm tra rất đơn giản của tôi:

import org.scalatest._ 
import org.junit.runner.RunWith 
import org.scalatest.junit.JUnitRunner 
import org.scalatest.matchers.ShouldMatchers 
import org.scalamock.ProxyMockFactory 
import org.scalamock.scalatest.MockFactory 

@RunWith(classOf[JUnitRunner]) 
class TurtleSpec extends FunSpec with MockFactory with ProxyMockFactory { 
    trait Turtle { 
    def turn(angle: Double) 
    } 

    val m = mock[Turtle] 
    m expects 'turn withArgs (10.0) 

    describe("A turtle-tester") { 
    it("should test the turtle") { 
     m.turn(10.0) 
    } 
    } 
} 

Trả lời

1

bạn cần phải gọi resetMocks/resetExpectations trước khi chạy thử nghiệm, cách tốt nhất để làm điều đó là (cách ScalaTest):

class TurtleSpec extends FunSpec with MockFactory with ProxyMockFactory with BeforeAndAfter { 

    before { 
    resetMocks() 
    resetExpectations() 
    } 

    ... 
} 
Các vấn đề liên quan