import grails.util.WebTest
class TestSuite extends WebTest {
static void main(args) {
new TestSuite().runTests(args)
}
void suite() {
def scanner = ant.fileScanner {
fileset(dir: WEBTEST_DIR, includes:'**/*Tests.groovy')
}
for (file in scanner) {
def test = getClass().classLoader.parseClass(file).newInstance()
test.ant = ant
test.suite()
}
}
}
import org.codehaus.groovy.grails.commons.ConfigurationHolder
class @{name}Tests extends org.grails.plugins.webtest.WebTestCase {
void setUp(){
config(easyajax:true)
}
void tearDown(){
invoke('/')
}
void test@{name}Thing() {
invoke('/')
alwaysPass()
if(ConfigurationHolder.config == null){
throw new RuntimeException('Config was not loaded!')
}
groovy """
import junit.framework.Assert
import org.mysite.*
Book.executeUpdate('Delete from Book');
Assert.assertNotNull new Book().save()
Assert.assertEquals 1, Book.count()
"""
}
}
package steps
import com.canoo.webtest.steps.Step
import org.apache.log4j.Logger
public class AlwaysPassStep extends Step {
private static final Logger LOG = Logger.getLogger(AlwaysPassStep.class);
public void doExecute() {
LOG.info('Test custom step called!')
}
}
import org.codehaus.groovy.grails.commons.ConfigurationHolder
class @{name}Tests extends grails.util.WebTest {
void setUp(){
config(easyajax:true)
}
void tearDown(){
invoke('/')
}
void testOldWebtestMethod(){
webtest('some test name'){
invoke('/')
}
}
void test@{name}Thing() {
invoke('/')
if(ConfigurationHolder.config == null){
throw new RuntimeException('Config was not loaded!')
}
}
}
All webtests should have passsed.