두 가지 테스트와 블록을 추가하는 특성이 있습니다. 구체적인 인스턴스의 @Before 블록은 특성의 것보다 먼저 실행됩니다. 아차,이 내가 데이터베이스 테이블은 다음기구를 삽입 절단 할 수 없음을 의미 :주문 방법 @ 이전 방법
trait DatabaseTest {
@Before
def truncate() {
// "TRUNCATE %s".format(tableName)
}
def tableName
}
class PersonasTest extends DatabaseTest {
@Before
def addPersona() {
// "INSERT INTO %s VALUES (...)".format(tableName)
}
@Test
def testRejectsInsertWhenAlreadyInTable() {
// "INSERT INTO %s VALUES (...)".format(tableName)
}
def tableName = "personas"
}
testRejectsInsertWhenAlreadyInTable
실행 순서가되기 때문에 항상 성공합니다
addPersona
truncate
testRejectsInsertWhenAlreadyInTable
서브 클래스에 너무 많은 제약 조건을 부과하지 않고 @Before 블록을 정렬하는 적절한 방법? 나는 항상 특성에서 truncate
을 선언 할 수 있었고, 서브 클래스에서 @Before 메소드를 가졌지 만, 모든 하위 클래스가 그 truncate 메소드를 호출하도록 기억해야합니다.
Scala 2.9.0.1에서 JUnit 4.10 사용.
:
스칼라 코드는 같을 수 있을까? build.xml https://github.com/KentBeck/junit/blob/master/build.xml#L306에 따르면 https://oss.sonatype.org/content/repositories/snapshots에서 찾아야하지만 4.9 만 .1 거기에있다. –
실수가 있었다고 생각합니다. 야간 빌드는 4.11-SNAPSHOT보다는 4.9.1 인 것 같습니다. 나는 관리자에게 이메일을 보냈습니다. –
4.9.1-SNAPSHOT은 ChainRule을 포함하지 않으므로 4.11보다는 4.9.1 일 가능성이 높습니다. 도와 주셔서 정말로 고맙습니다! –