How do I stub things in MiniTest?

前端 未结 8 923
面向向阳花
面向向阳花 2020-12-02 09:46

Within my test I want to stub a canned response for any instance of a class.

It might look like something like:

Book.stubs(:title).any_instance().ret         


        
8条回答
  •  天涯浪人
    2020-12-02 10:20

      # Create a mock object
      book = MiniTest::Mock.new
      # Set the mock to expect :title, return "War and Piece"
      # (note that unless we call book.verify, minitest will
      # not check that :title was called)
      book.expect :title, "War and Piece"
    
      # Stub Book.new to return the mock object
      # (only within the scope of the block)
      Book.stub :new, book do
        wp = Book.new # returns the mock object
        wp.title      # => "War and Piece"
      end
    

提交回复
热议问题