2012-04-13 33 views
8

Bạn muốn giới thiệu các khung công tác nào để viết các bài kiểm tra đơn vị cho mã đa luồng trong Java? Ví dụ, khi bạn có một chương trình được cho phép thực thi một loạt các luồng với một số đường dẫn được phép và một số đường dẫn bị loại trừ (như "đơn vị thực thi 1, 2 và 3 có thể chạy song song, ít nhất hai lệnh phải chạy song song, và 4 luôn phải chạy sau 3 ").Frameworks for Unittests for Multithreading trong Java

Trả lời

3

Tôi khuyên bạn nên đọc khoảng JUnit @Rule để sử dụng chúng cho các thử nghiệm đồng thời.

2

Tôi khuyên bạn nên ContiPerf2 vì đây là khung rất dễ sử dụng. Mặc dù tôi không nghĩ rằng nó sẽ cung cấp khả năng để tuyên bố đường dẫn thực hiện hoặc một cái gì đó như thế.

1

Bạn có thể sử dụng các bài kiểm tra JUnit parametrized, như mô tả ở đây: http://junit.org/junit/javadoc/4.5/org/junit/runners/Parameterized.html

Nhưng bạn sẽ cần đến chương trình chủ đề Logic mình, ví dụ bằng cách sử dụng hồ bơi thread khác nhau.

Bạn có thể xem qua kính ngắm (http://javapathfinder.sourceforge.net/) nếu bạn muốn chứng minh rằng mã của bạn là chuỗi an toàn.