Unit testing 默认情况下,单元测试和集成测试的名称相同
在Grails中,单元测试和集成测试是使用完全相同的命名约定生成的,因此,如果您正在测试名为Unit testing 默认情况下,单元测试和集成测试的名称相同,unit-testing,grails,configuration,Unit Testing,Grails,Configuration,在Grails中,单元测试和集成测试是使用完全相同的命名约定生成的,因此,如果您正在测试名为Foo的域类,那么这两个测试都是在同一个包中使用名称FooTests生成的。是否有一种期望,我应该进行单元测试或集成测试,但不能同时进行这两种测试?人们是否将集成测试与单元测试放在不同的包中,或者重命名一个包?解决这个问题的首选方法是什么 顺便说一句,我在grails/scripts/_GrailsCreateArtifacts.groovy上进行了黑客攻击,以更改类的生成方式,从而使其生成不同的名称(后
Foo
的域类,那么这两个测试都是在同一个包中使用名称FooTests
生成的。是否有一种期望,我应该进行单元测试或集成测试,但不能同时进行这两种测试?人们是否将集成测试与单元测试放在不同的包中,或者重命名一个包?解决这个问题的首选方法是什么
顺便说一句,我在grails/scripts/_GrailsCreateArtifacts.groovy上进行了黑客攻击,以更改类的生成方式,从而使其生成不同的名称(后缀属性的值就是所有更改的值)。当类位于名为“integration”的文件夹中时,我不喜欢在名称中包含表示“integration”的内容,但这至少避免了手动重命名
createIntegrationTest = { Map args = [:] ->
def superClass = args["superClass"] ?: "GroovyTestCase"
createArtifact(name: args["name"], suffix: "${args['suffix']}IntTests",
type: "Tests", path: "test/integration", superClass: superClass)
}
我认为给他们一个不同的名字是正确的选择
*IntTests
或
你在做什么来生成单元测试和集成测试?@Jarred-我想他正在使用create unit test和create integration test命令,是的,它会在同一个包中创建同名的测试。我也不知道人们如何处理这个问题,但我手动重命名了them@Jarred当前位置sudhir的猜测是对的,这就是我正在做的。我最终手动将集成测试重命名为FooIntTests。@Nathanhughs-我认为没有任何配置可以更改此行为,您可以更改脚手架模板以自动放置*IntegrationTests for create integration test命令。@sudhir:是的,我研究过了,我可以这样做。因为单元测试和集成测试使用相同的模板,所以破解createArtifacts脚本更容易(在任何情况下,我都必须使用不同的模板)。
*IntegrationTests