Можно ли снова и снова запускать тест спока с разными значениями формы? - PullRequest
2 голосов
/ 05 марта 2012

Я новичок в Споке и Гебе и использую их в своем приложении Grails 1.3.7.У меня есть LoginSpec и LoginPage.Теперь я хочу выполнить LoginSpec много раз, указав несколько различных комбинаций имени пользователя и пароля.Мне неясно, как мне к этому подойти.

class LoginSpec extends geb.spock.GebReportingSpec {

  def "At the login page"() {
    when: "we visit the login page"
    to LoginPage
    then:
    at LoginPage
  }

  def "failed login"() {
    when: "a user goes to the login page and enters invalid data"
    to LoginPage
    loginForm.j_username = "bad@test.com"
    loginForm.j_password = "password"
    loginButton.click()
    then:
    at LoginPage
  }

  def "successful login"() {
    when: "a user goes to the login page and enters valid data"
    to LoginPage
    loginForm.j_username = "good@test.com"
    loginForm.j_password = "password"
    loginButton.click()
    then:
    at DashboardPage
  }
}

class LoginPage extends Page {

  static url = "login/auth"

  static at = { heading == "sign in" }

  static content = {
    heading { $(".page-header>h2").text() }
    loginButton(to: [DashboardPage, LoginPage]) { $('#sign_in').find("button.primary") }
    loginForm { $('#loginForm') }

  }
}

1 Ответ

3 голосов
/ 05 марта 2012

Вы можете использовать поддержку Спока для тестирования данных:

def "successful login"() {
    when: "a user goes to the login page and enters valid data"
    to LoginPage
    loginForm.j_username = username
    loginForm.j_password = password
    loginButton.click()

    then:
    at DashboardPage

    where:
    username        | password
    "test@test.com" | "password"
    "foo"           | "bar"        
}
...