我們有一套集成測試依賴於相同的一組靜態數據。由於數據量巨大,我們不希望按照測試級別進行設置。是否可以在開始時設置數據,運行測試組並在測試結束時回滾數據。Grails集成測試套件
我們有效地想要的是回滾測試套件級別而不是測試用例級別。我們使用的是Grails 1.3.1,任何指針都會對我們繼續有很大的幫助。提前致謝。
-Prakash
我們有一套集成測試依賴於相同的一組靜態數據。由於數據量巨大,我們不希望按照測試級別進行設置。是否可以在開始時設置數據,運行測試組並在測試結束時回滾數據。Grails集成測試套件
我們有效地想要的是回滾測試套件級別而不是測試用例級別。我們使用的是Grails 1.3.1,任何指針都會對我們繼續有很大的幫助。提前致謝。
-Prakash
一個測試用例,你可以使用:
@BeforeClass
public static void setUpBeforeClass() throws Exception {
}
@AfterClass
public static void tearDownAfterClass() throws Exception {
}
沒有嘗試過一套測試用例(還)。
我在靜態方法中使用findByName時遇到了一些麻煩,不得不求助於保存一個id並使用get。
我確實嘗試了一個套件,但沒有快樂,得到:沒有可運行的方法。
您可以通過將您的測試案例標記爲非事務性並自行管理數據,事務和回滾來控制事務/回滾行爲。例如:
class SomeTests extends GrailsUnitTestCase {
static transactional = false
static boolean testDataGenerated = false
protected void setUp() {
if (!testDataGenerated) {
generateTestData()
testDataGenerated = true
}
}
void testSomething() {
...test...
}
void testSomethingTransactionally() {
DomainObject.withTransaction {
...test...
}
}
void testSomethingTransactionallyWithRollback() {
DomainObject.withTransaction { status ->
...test...
status.setRollbackOnly()
}
}
}