如何针对正在运行的服务器运行Grails集成测试?
我在网上搜索过,但建议的日期是2010年和Grail 1.3.x ......
答案 0 :(得分:0)
Grails 3集成测试将针对正在运行的服务器运行。您需要定义一个测试环境application.yml并将@Integration注释添加到您的类中。
import grails.test.mixin.integration.Integration
import spock.lang.Specification
@Integration
class LookupServiceIntegrationSpec extends Specification {
def lookupService
def setup() {
}
def cleanup() {
}
void "test database connection"() {
when:
def row = lookupService.testMethod()
then:
println("Row one = "+row.one)
row.one == 1
}
}
以下是一个简单的示例服务:
import grails.transaction.Transactional
import groovy.sql.Sql
@Transactional
class LookupService {
def dataSource
def testMethod() {
Sql sql = new Sql(dataSource)
sql.firstRow("SELECT 1 AS one")
}
}
答案 1 :(得分:0)
也许您正在寻找功能测试而不是集成测试。 Grails 3为功能测试增加了更好的支持。见下面的链接。