我應該如何測試一個同步使用的事務性服務方法(它通過減少值來更新數據庫行)?測試對交易服務的同時調用
我已經用SpringJunit4ClassRunner設置了一個JUnit測試類,並且組件是@autowired。
只是產卵的線程,將調用該方法似乎不工作。我不確定這是否與Spring代理機制有關。
我想達到的目的是創建一種情況,即兩個線程同時在被測方法的「內部」,另一個線程將失敗並回滾。例如行值是3,兩個方法調用都嘗試將值減2;如果該方法不起作用,則該值爲-1,這是非法的。但是我希望這兩個調用都會失敗並回滾,或者嘗試更新它的時間晚於另一個。
這甚至可能嗎?
你應該解釋什麼時候產卵線程不工作。 – tangens 2009-11-11 13:42:44
我在可調用方法的開始(它只是一個私有方法調用)或者表示該表不存在的hibernate異常時,得到了一個空指針異常,這很奇怪,因爲在一個測試方法中, T線程工作正常。 – egaga 2009-11-11 13:57:52