Özellik yönteminde, bir when:
bloğundaki özellik eylemi belirtilir, bunun sonucu bir sonraki then:
satırında test edilir. Genellikle given:
maddesinde (veya setup:
veya fikstür yönteminde) yapılan hazırlık gerekir. Önkoşulları içermek de eşit derecede faydalıdır: Bunlar, özellik testine konu olmayan koşullardır (bu nedenle when:
- then:
veya expect:
numaralı telefonlarda olmamalıdır), fakat testin anlamlı olması için gerekli koşulları belgeliyor/belgeliyorlar. Örneğin, aşağıdaki aptal özellikleri inceleyiniz:Spock özellik yöntemlerinde önkoşullar için iyi bir stil nedir?
import spock.lang.*
class DummySpec extends Specification {
def "The leading three-caracter substring can be extracted from a string"() {
given: "A string which is at least three characters long"
def testString = "Hello, World"
assert testString.size() > 2
when: "Applying the appropriate [0..2] operation"
def result = testString[0..2]
then: "The result is three characters long"
result.size() == 3
}
}
Bu önkoşullar için önerilen uygulama nedir? Örnekte assert
kullandım ancak bir Specta assert
s üzerine birçok kaşlarını çattım.
Bu ne yaparım olduğunu. İhtiyaç duyulduğunda spesifikasyonda 'assert 'kullanımıyla ilgili yanlış bir şey yoktur (hala bir Spock koşulu değil, Groovy iddiası değil). –