부정적 사례 테스트
우리가 만든 단일 목록 보기의 테스트가 첫 번째 사용자 스토리에 대한 인수 테스트로 충분한지 생각해봐야 한다. 아마 그렇지 않을 것이다.
우리 테스트는 단일 목록을 가지는 단일 사용자만을 대상으로 하며, 사용자가 다른 사용자의 목록을 볼 수 없어야 한다는 사실을 테스트하지 않는다. 따라서 이제 부정적인 경우에 대한 두 번째 테스트를 작성할 수 있다.
@Test
fun `Only owners can see their lists`() {
val listName = "shopping"
startTheApplication("frank", listName, emptyList())
expectThrows<AssertionFailedError> {
getToDoList("bob", listName)
}
}
여기서는 frank 사용자가 생성한 목록으로 애플리케이션을 시작한 다음, bob 사용자로 접근을 시도하고 있다. 이런 접근은 허용하지 말아야 하며, 이 메서드가 예외를 발생시킬 것으로 예상해야 한다.