Tôi đã nhận thấy trong quá trình kiểm tra tích hợp rằng tôi thực sự làm việc với các trường hợp sử dụng định kỳ với các API yên tĩnh (hoặc trong các giao diện HTTP chung) Tôi kiểm tra ở đây và ở đó với bash + cURL.
Nó bắt đầu trông khá lộn xộn và khó bảo trì hơn. Tại sao giao hàng lộn xộn?
Các trường hợp sử dụng điển hình là:
- Kiểm tra xem một URL trả về mã phản hồi http, ví dụ 200
- Kiểm tra loại nội dung phù hợp với một số MIME bạn cần trong trường hợp đó
- Kiểm tra xem nội dung được trả về khớp với một số mẫu hoặc vượt qua quy trình xác thực trừu tượng
Những gì tôi đã tìm thấy cho đến nay và xem xét một lựa chọn khả thi mà không cần phát minh lại bánh xe, là:
- hãy đồng hành cùng PyCurl - với hy vọng nó sẽ thực hiện đầy đủ tất cả các tùy chọn cURL đặc biệt. ủy quyền nhưng cũng có các công tắc khác tôi có thể cần
- sử dụng Pythonng tích hợp sẵn
Sau đó, tôi có thể có một thử nghiệm đơn vị cho mỗi dịch vụ tôi muốn kiểm tra:
import unittest, pycurl
class TestService (unittest.TestCase):
def test_1(self):
self.assertEqual(pycurl.returncode("some_url"), 200)
def test_2(self):
self.assertTrue(pycurl.response("some_url").matches ("xxx") )
def test_3(self):
self.assertTrue (pycurl.ContentType("some_url").equal("xxx"))
if __name__ == '__main__':
unittest.main()
Điều này có ý nghĩa hay có một công cụ cấp cao hơn (nhưng không quá phức tạp để chọn và tích hợp) không?