2008-09-18 24 views
7

Tôi có một loạt các bài kiểm tra chức năng đối với ứng dụng web chạy đúng, nhưng mỗi bài kiểm tra yêu cầu thiết lập cấp độ và teardown được cung cấp với chú thích @BeforeClass@AfterClass và do đó yêu cầu JUnit 4.0 trở lên.Làm cách nào để sử dụng JUnitPerf với JWebUnit và JUnit 4?

Bây giờ tôi muốn thực hiện thử tải bằng cách sử dụng một số lượng nhỏ các thử nghiệm chức năng này, mô phỏng một số lượng lớn người dùng yêu cầu trang liên quan của ứng dụng web. Để mỗi người dùng có "trình duyệt được mô phỏng" của riêng mình trong JWebUnit, tôi cần sử dụng TestFactory trong JUnitPerf để khởi tạo lớp đang kiểm tra, nhưng vì các bài kiểm tra JUnit 4 được chú thích với @Test thay vì được lấy từ TestCase, tôi nhận được ngoại lệ TestFactory must be constructed with a TestCase class.

Có ai sử dụng thành công JUnitPerf và TestFactory của nó bằng JUnit 4 không? Và nước sốt bí mật nào cho phép nó hoạt động?

Trả lời

10

Bạn cần một JFit4 nhận thức TestFactory. Tôi đã bao gồm một bên dưới.

import junit.framework.JUnit4TestAdapter; 
import junit.framework.TestCase; 
import junit.framework.TestSuite; 

import com.clarkware.junitperf.TestFactory; 

class JUnit4TestFactory extends TestFactory { 

    static class DummyTestCase extends TestCase { 
     public void test() { 
     } 
    } 

    private Class<?> junit4TestClass; 

    public JUnit4TestFactory(Class<?> testClass) { 
     super(DummyTestCase.class); 
     this.junit4TestClass = testClass; 
    } 

    @Override 
    protected TestSuite makeTestSuite() { 
     JUnit4TestAdapter unit4TestAdapter = new JUnit4TestAdapter(this.junit4TestClass); 
     TestSuite testSuite = new TestSuite("JUnit4TestFactory"); 
     testSuite.addTest(unit4TestAdapter); 
     return testSuite; 
    } 

} 
+0

Tôi mong đợi câu trả lời này (và sắp kiểm tra nguồn từ git), nhưng bạn đã "vượt quá". Bạn có phiền nếu tôi kiểm tra mã nguồn của bạn trong một phần của thư viện JUnitPerf chuẩn (với phân bổ của cource)? –

+1

xin vui lòng làm điều đó :) – alexguev

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