Tôi đang viết một kiểm tra cho một số mã kiểm tra giá trị trong os.environ
(Tôi biết điều này không phải là tối ưu, nhưng tôi phải đi với nó). Tôi muốn loại bỏ một mục từ os.environ trong suốt thời gian thử nghiệm. Tôi không chắc chắn nếu giả hỗ trợ này. Tôi biết patch.dict
có thể được sử dụng để sửa đổi một mục, nhưng tôi muốn loại bỏ cặp khóa/giá trị. Tôi muốn một cái gì đó dọc theo các dòng này:Sử dụng giả của python để tạm thời xóa một đối tượng khỏi số dict
print os.environ
{ ... , 'MY_THING': 'foo', ... }
with mock.patch.dict.delete('os.environ', 'MY_THING'):
# run the test
# ('MY_THING' in os.environ) should return False
# everything back to normal now
print os.environ
{ ... , 'MY_THING': 'foo', ... }
Có cách nào để thực hiện một kỳ tích như vậy không?
mock.patch.dict không hoạt động như thế, bởi vì tôi đã tạo ra nó :) Giải pháp của bạn làm việc cho tôi. –