2012-06-28 35 views
10

Tôi đang viết máy chủ XMPP nhỏ bằng cách sử dụng boost :: asio và tôi muốn kiểm tra đơn vị mã của mình. Câu hỏi:Đơn vị kiểm tra và tăng cường :: asio

  1. Có một số khung công tác sẵn sàng để sử dụng không? Theo như tôi hiểu, tôi cần phải cung cấp các đối tượng giả cho tăng :: asio lớp/mẫu và tôi thực sự muốn thực hiện điều này (bán) tự động.
  2. Có thể thử nghiệm đồng thời không (ví dụ: nhiều kết nối với máy chủ và định tuyến thư giữa chúng)?

Trả lời

6

1) Tôi đã viết một lớp ổ cắm nhỏ có thể được sử dụng như một sự thay thế cho tăng :: asio :: ip :: tcp :: socket. Nếu bạn thích, bạn có thể xem robitzki.de/test_socket.h (test_socket.cpp, test_io_plan.h và test_io_plan.cpp). Tùy thuộc vào các nhà xây dựng được sử dụng, các ổ cắm có thể mô phỏng đọc/viết của khối với kích cỡ khác nhau. Lỗi cũng có thể được mô phỏng. Bạn được tự do sử dụng nó, nếu bạn thích.

2) Với bộ phận thay thế ổ cắm có thể xây dựng các bài kiểm tra căng thẳng cho phần mềm đang được kiểm tra. Điều này sẽ không bao giờ bảo đảm rằng mã không chứa lỗi nhưng tốt hơn là không có gì ;-). Cá nhân tôi thích đánh giá mã tốt nhất để đảm bảo mã đa luồng chứa ít lỗi nhất có thể.

HTH

Torsten

+0

Hi, tôi đã nhìn vào tăng kiểm tra đơn vị :: ASIO cũng tìm thấy và test_socket.h của bạn, tôi đang borrwing nó nếu bạn không nhớ :) – dutt

+3

@dutt Bạn được chào đón sử dụng nó. Có một cái nhìn tại https://github.com/TorstenRobitzki/Sioux/tree/master/source/asio_mocks, nơi tôi đã cố gắng để đưa điều này trong một hình thức tái sử dụng nhiều hơn. –

+0

Cảm ơn, tôi sẽ xem xét :) Tôi đã thực hiện một số sửa đổi nhỏ ở đây cho phù hợp với nhu cầu của tôi. – dutt