这个职位完美地描述了我最初的问题:我想遵循TDD:
我正在IntelliJ中从事一个Grails项目。如果我只想编写普通的JUnit测试,那么上面的帖子解决了所有问题:
问题是,我想使用一个非常酷的“用英语描述”测试设置,比如Easyb或Spock。
我做什么好?从Grails为我创建的自动生成的测试类开始,然后把Spock的东西塞进它,这将是神奇的。显然我不能用“扩展”两次。这能给出我想做的事情的要点吗?
class Xyz extends GroovyTestCase extends spock.lang.Specification {
//void testSomething() {
// fail "Implement me"
//}
def "length of Spock's and his friends' names"() {
expect:
name.size() == length
where:
name | length
"Spock" | 5
"Kirk" | 4
"Scotty" | 6
}
}发布于 2012-05-28 12:42:06
扩展史波克类,而不是groovy类。您可以从UnitSpec、ControllerSpec、IntegrationSpec和其他列出的在源代码中中进行选择。斯波克会照顾好剩下的人。
发布于 2012-06-01 01:52:21
-Use "grails安装-模板“
-Change测试模板的内容如下:
@artifact.package@
import grails.test.mixin.*
import org.junit.*
import spock.lang.Specification
@TestFor(@artifact.testclass@)
class @artifact.name@ extends Specification {
}-Write中的测试代码(或普通JUnit代码)
-IntelliJ->Run->编辑配置。添加JUnit类型的新配置。测试种类:<All in package/All in UnitTest directory/All in one UnitTest class/etc.>
-(快捷方式:游标在方法名称上,或类名->ctrl-shift-F10)
关于我最初的问题:回想起来,我被那篇博客文章中的“运行目录中的所有内容”挂了起来。当前IntelliJ允许您在目录或整个项目中运行所有JUnit测试。
一旦我理解了这一点,下一步就是认识到Spock测试是JUnit测试。在test/unit目录中创建一个“类Xyz扩展规范{}”类,用Spock代码填充它,并作为.JUnit。魔法!
https://stackoverflow.com/questions/10784749
复制相似问题