2012-04-08 32 views
5

Tôi đang thử một bộ điều khiển trả về đáp ứng json nhưng các kiểm tra không thành công sau lần đầu tiên vì cơ sở dữ liệu h2 không đặt lại mã số tự động tự động. Sử dụng đồ đạc hoặc tạo các đối tượng theo cách thủ công có cùng một vấn đề.Đặt lại tự động sắp xếp trong h2

@Before 
public void setUp() { 
    Fixtures.deleteAllModels(); 
    Fixtures.loadModels("data.yaml"); 
} 

Cách giải quyết vấn đề này?

Trả lời

12

Bắt đầu ứng dụng chơi của bạn, cháy lên trình duyệt với url này (nếu bạn chạy ứng dụng chơi tại địa phương):

http://localhost:9000/@db 

Nhập db h2 của bạn, và gõ lệnh dưới đây và chạy:

ALTER TABLE <table_name> ALTER COLUMN <column_name> RESTART WITH 1 

Nếu bạn muốn làm điều này lập trình, Fixtures.executeSQL() có thể có ích

để biết thêm thông tin, hãy http://www.h2database.com/html/grammar.html#alter_table_alter

1

Nếu bạn đang sử dụng Spring, tôi thấy số này là blog post, gợi ý sử dụng @DirtiesContext(classMode = DirtiesContext.ClassMode.AFTER_EACH_TEST_METHOD)

Vì vậy, mỗi thử nghiệm sử dụng ngữ cảnh ứng dụng mới, do đó đặt lại số tăng db.

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