Are there any warappers/utils available to read Excel files in Groovy. I am looking for something similar to Groovy SQL’s rows function as shown in below spock test example. My intention is to use this for data driven testing using excel in Spock test framework
import groovy.sql.Sql
import spock.lang.*
class DatabaseDriven extends Specification {
@Shared sql = Sql.newInstance("jdbc:h2:mem:", "org.h2.Driver")
// normally an external database would be used,
// and the test data wouldn't have to be inserted here
def setupSpec() {
sql.execute("create table maxdata (id int primary key, a int, b int, c int)")
sql.execute("insert into maxdata values (1, 3, 7, 7), (2, 5, 4, 5), (3, 9, 9, 9)")
}
def "maximum of two numbers"() {
expect:
Math.max(a, b) == c
where:
[a, b, c] << sql.rows("select a, b, c from maxdata")
}
}
One of my fellow GUG members has created a tool for working with Excel using Apache POI in very much the same way you describe. It’s not formalized into a library yet (AFAIK) but is available on his blog.
It allows you to write code like this:
Check it out here: http://www.technipelago.se/content/technipelago/blog/44