2011-07-12 38 views
6

tôi biết làm thế nào để thử phương pháp trong Python sử dụng flexmock, nhưChức năng mô phỏng với FlexMock bằng Python?

flexmock(subprocess).should_receive('call').replace_with(my_func) 

Làm thế nào để một chức năng giả đối tượng bên ngoài, hoặc ví dụ glob, được nhập khẩu qua from glob import glob thay vì import glob?

Tôi đã tìm thấy mocking functions using python mock làm câu hỏi tương tự nhưng không trả lời được câu hỏi của tôi.

Trả lời

6

Vì bạn đang nhập hàm glob() trực tiếp vào không gian tên cục bộ, bạn phải có một nút điều khiển trên mô-đun hiện tại.

from flexmock import flexmock 
from glob import glob 
import sys 

flexmock(sys.modules[__name__]).should_receive('glob') 

Bạn cũng có thể thực hiện "nhập toàn cục dạng glob_module" hoặc điều gì đó dọc theo các dòng đó để tránh tra cứu sys.modules.

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