Open Christian-health opened 5 years ago
实例中混入了特质 Matchers ,这个特质是非常强大的。在混入它之前,只能使用 assert 来进行测试。混入它之后,就可以使用一些非常易读的测试方法。
org.scalatest.Suite
只要把测试类扩展Suite ,并且定义了名字以“test ”开头的测试方法,就可以实现简单的测试,参考下面的代码:
import org.scalatest.Suite
class MySuite extends Suite{
def testOk(){
assert(true)
}
def testOther(){
assert(true)
}
}
出处:https://blog.csdn.net/lantian0802/article/details/39299833
@RunWith(SpringJUnit4ClassRunner.class)
使用了Spring的SpringJUnit4ClassRunner
以便在测试开始的时候自动创建Spring的应用上下文
注解了@RunWith就可以直接使用spring容器,直接使用@Test注解,不用启动spring容器
出处:https://www.jianshu.com/p/2f5f4160d4aa
Spring 解惑 @RunWith的作用
@RunWith就是一个运行器
@RunWith(JUnit4.class)就是指用JUnit4来运行
出处:https://www.imooc.com/qadetail/79560
Junit 的测试套件Suite
作用:批量运行测试类
1、@RunWith 注解声明该类为一个测试入口(该类中不包含其他方法)
2、更改测试运行器Suite.class
将要测试的类作为数组传入到Suite.SuiteClass( { a ,b , c,…} )的数组中
1. ScalaTest简介
ScalaTest几乎已经成为Scala语言默认的测试框架,而在JVM平台下,无论是否使用Scala进行开发,我认为仍有尝试ScalaTest的必要。这主要源于它提供了多种表达力超强的测试风格,能够满足各种层次的需求包括单元测试、BDD、验收测试、数据驱动测试。
ScalaTest一共提供了七种测试风格,分别为:FunSuite,FlatSpec,FunSpec,WordSpec,FreeSpec,PropSpec和FeatureSpec。
这就好像使用相同的原料做成不同美味乃至不同菜系的佳肴,你可以根据自己的口味进行选择。以我个人的偏好来看,我倾向于选择FlatSpec或FunSpec(类似Ruby下的RSpec)来编写单元测试与集成测试。虽然FunSuite的方式要更灵活,而且更符合传统测试方法的风格,区别仅在于test()方法可以接受一个闭包,但坏处恰恰就是它太灵活了。
而FlatSpec和FunSpec则通过提供诸如it、should、describe等方法,来规定书写测试的一种模式,例如前者明显的*“主-谓-宾”结构*,后者清晰的分级式结构,都可以使团队的测试更加规范。
如下是ScalaTest官方网站的提供的FunSuite、FlatSpec和FunSpec的三种风格样例。至于WordSpec和FreeSpec,要么太复杂,要么可读性稍差,要么惯用法风格有些混杂,个人认为都不是太好的选择,除非你已经习惯了这种风格。
出处:https://blog.csdn.net/lb812913059/article/details/83315498