我想运行我的所有测试套件。我想在一个名为Allrun的测试套装中调用测试套件。 我可以在另一个测试套件中调用测试套件吗?我正在寻找这样的东西:
class Myfirst extends GebReportingSpec {
def myfunction(){
when:''
at mypage1
and:''
element1.text() == "mytext1"
}
}
class Mysecond extends GebReportingSpec {
def mysecondFunction() {
when:''
at mypage2
and:''
element2.text() == "mytext2"
}
}
class AlltestSuites extends GebReportingSpec {
Myfirst myfirst = new Myfirst ()
Mysecond mysecond = new Mysecond ()
def allrun(){
myfirst.myfunction()
mysecond.mysecondFunction()
}
}
我该怎么做?有没有人有想法
答案 0 :(得分:0)
您可以创建如下所示的AllRun.groovy文件,以指定的顺序运行所有类文件[Myfirst.class,Mysecond.class等]。
package geb.groovy
import org.junit.runner.RunWith
import org.junit.runners.Suite
import geb.groovy.scripts.Myfirst
import geb.groovy.scripts.Mysecond
@RunWith(Suite.class)
@Suite.SuiteClasses([Myfirst.class, Mysecond.class])
class CustomJUnitSpecRunner {
}
在build.gradle systemProperties System.properties中,排除单个Myfirst.class,Mysecond.class文件。这样他们只能通过AllRun文件运行一次。
include 'geb/groovy/AllRun/**'
exclude 'geb/groovy/scripts/**'
答案 1 :(得分:0)
可以使用以下命令运行规范组,其中package
是src/test/groovy/specs
下的目录:
mvn test -Dtest=specs.package.*
如果您依赖规格以特定顺序运行,我会重新考虑您的方法。如果需要某种状态的数据,请使用setup()和setupSpec()方法。还要考虑在单个规范中运行相关测试,并按照使用@Stepwise注释编写的顺序运行这些测试。
@Stepwise
class MyStepWiseTest extends GebReportingSpec {
def myfunction(){
when:''
at mypage1
and:''
element1.text() == "mytext1"
}
def mysecondFunction() {
when:''
at mypage2
and:''
element2.text() == "mytext2"
}
}