ScalaTest几乎已经成为Scala语言默认的测试框架,而在JVM平台下,无论是否使用Scala进行开发,我认为仍有尝试ScalaTest的必要。...正如ScalaTest的创建者Bill Venners所说: A guiding design principle of ScalaTest is that different people on a...ScalaTest提供的PropSpec充分利用了Scala函数式语言的特性,使得代码更简单,表达性也更强: import org.scalatest._ import prop._ import scala.collection.immutable...ScalaTest在提供类似Feature的验收测试Spec时,并没有将业务场景与测试支持代码分开,而是采用了混合的方式来表现: import org.scalatest....在我之前的Java项目中,我选择使用了ScalaTest作为验收测试的框架。
打开 build 文件: 当前 scalavesion 版本是 2.12,将相应代码加进去: libraryDependencies += "org.scalatest" %% "scalatest"...% "3.0.0" % "test" 其它版本可以查看:http://www.scalatest.org/older_releases ?
BasicProjectWithScalaTest" version := "1.0" scalaVersion := "2.10.0" libraryDependencies += "org.scalatest..." %% "scalatest" % "1.9.1" % "test" 但是为了方便,sbt的依赖项管理可以一次性添加多个依赖项到项目中: 用到了Seq libraryDependencies ++=...Seq( "net.sourceforge.htmlcleaner" % "htmlcleaner" % "2.4", "org.scalatest" % "scalatest_2.10...例如 : "org.scalatest" %% "scalatest" % "3.2.9" 会被解析为 “org.scalatest:scalatest_2.13:3.2.9”,假设当前 Scala 版本为..." %% "scalatest" % "3.2.9" % Test // 测试时依赖 ) Compile 配置:默认配置,编译时依赖。
ThisBuild / scalaVersion := "2.13.6" # 设置项目所属组织 ThisBuild / organization := "com.example" # 自定义变量 val scalaTest...= "org.scalatest" %% "scalatest" % "3.2.7" ## 配置项目hello lazy val hello = (project in file("...maven中的scope,可以Test, Compile # 如果是scala的库,一般使用%%,这样就会找到对应scala版本的库 libraryDependencies += "org.scalatest..." %% "scalatest" % "3.2.7" % Test, # 如果使用自定义变量,也可以用如下格式 libraryDependencies += scalaTest % Test...helloCore = (project in file("core")) .settings( name := "Hello Core", libraryDependencies += scalaTest
, "-y", "org.scalatest.WordSpec", "-y", "org.scalatest.FunSpec") parallelExecution in Test := false...{ImplicitSender, TestKit} import org.scalamock.scalatest.MockFactory import org.scalatest....import org.scalatest....import org.scalatest....{DatabaseMigrationSupport, MockData} import org.scalamock.scalatest.MockFactory import org.scalatest.
右键单击该包,example然后选择New => Scala class 命名为 Hello 选择Object 运行成功 3、使用SCALATEST测试Scala 在build.sbt中引入依赖...libraryDependencies += "org.scalatest" %% "scalatest" % "3.0.8" % "test" 等待依赖下载完成 在src=> test 中选择New...=> Scala class 命名为CubeCalculatorTest import org.scalatest.FunSuite class CubeCalculatorTest extends
def myOut(str:String)={ println("class2=="+str) } } 下面我们要做的就是通过放射完成类型强转的功能: object ScalaTest...执行结果如下: class2==ddd 或者我们可以换成java版本的结果方案: object ScalaTest { def main(args: Array[String]): Unit
"org.apache.spark" %% "spark-catalyst" % sparkVersion.value % "provided", // Test deps "org.scalatest..." %% "scalatest" % "3.0.5" % "test", "org.apache.spark" %% "spark-catalyst" % sparkVersion.value %
; } } 2 不适用的 Scalatest Scalatest 是 Scala 开发者们最常见的测试工具,其用法非常简便。...下面是一个 Scalatest 的简单示例。...TeacherServiceTest1 extends FunSuite with BeforeAndAfter{ test("countAnswer"){ assert(1==1) } } 但是我们无法使用 scalatest...原因在于:1)Scalatest 无法捕捉被测 Actor 回应的消息,因此无法测试被测 Actor 是否正确回应消息; 2)Scalatest 无法获取被测 Actor 的内部状态,因此无法测试被测...Actor 内部状态的改变是否正确; 3) Scalatest 无法捕捉被测 Actor 对外发送的消息,因此无法测试被测 Actor 对外发送的消息是否正确。
但在多数情况下,我们更倾向于选择使用ScalaTest或者Specs2。在一些Java开发项目中,我们也开始尝试使用ScalaTest来编写验收测试,乃至于单元测试。...若要我选择ScalaTest或Specs2,我更倾向于ScalaTest,这是因为ScalaTest支持的风格更具备多样性,可以满足各种不同的需求,例如传统的JUnit风格、函数式风格以及Spec方式。...我的一篇博客《ScalaTest的测试风格(http://agiledon.github.io/blog/2014/01/13/testing-styles-of-scalatest/)》详细介绍了各自的语法...我们可以像编写ScalaTest测试那样的风格来编写ScalaMeter性能测试用例,并能够快捷地生成性能测试数据。这些功能都非常有助于我们针对代码或软件产品进行BenchMark测试。
'org.scala-lang', name: 'scala-library', version: '2.12.0' //添加scala基本库 testCompile group: 'org.scalatest...', name: 'scalatest_2.12', version: '3.0.5' //添加scala测试相关的依赖 } 项目上右键->New->Directory, 在跳出的小窗口中选择src/
groupId> scala-library 2.11.11 要支持用ScalaTest...编写单元测试,则还需要添加: org.scalatest scalatest_2.11</artifactId
._ import org.scalatest.flatspec.AnyFlatSpec import chisel3._ class DecoderTest extends AnyFlatSpec...emitVerilog(new RegisterFile()) } RegisterTest.scala import chisel3._ import chiseltest._ import org.scalatest.flatspec.AnyFlatSpec...chisel3.stage.ChiselStage).emitVerilog(new Circuit()) } Circuit.scala import chiseltest._ import org.scalatest.flatspec.AnyFlatSpec
) <- myMap) println(v) } /** * 文件读写示例 */ def fileWriteAndRead = { val fileName = "<em>scalaTest</em>.txt
优先使用val和immutable集合 使用Option/Some/None/ 忘记 java null的概念 使用 try/Success/Failure类 使用一种TDD/BDD 测试工具如 ScalaTest
Testcontainers-scala入门需知 ScalaTest 有两种感知特质: ForEachTestContainer : 在每个测试用例之前启动一个新容器,然后停止并删除它。...我们要开始使用 ScalaTest,只需要扩展这些特质之一,并 重写 container的val值。 import com.dimafeng.testcontainers....org.apache.kafka.clients.consumer.KafkaConsumer import org.apache.kafka.clients.producer.KafkaProducer import org.scalatest...{ForAllTestContainer, GenericContainer} import com.hypers.util.RedisSupport import org.scalatest....{ForAllTestContainer, MySQLContainer} import com.hypers.util.MysqlSupport import org.scalatest.
比如像scalatest这样的库,可以让我们这样写: list should have length 3 这样看起来像是一句普通英语。 但Scala的DSL有两点需要注意: 它的特点是类型安全。...以scalatest为例,如果没有熟悉、深刻地掌握scala类型系统,很难设计出来这样的DSL。...learning-scalaz/ 推荐库:scalaz 推荐语言:Haskell 第四块:生态 前三块基本上都是语言层面,这一块是库,比如一些我们经常用到的,或者scala中一些很有名的库: 构建工具: sbt scalatest
值得注意的是,如果你使用Scala + sbt + ScalaTest + sbt-scoverage配置自动化测试,你可以在「Test coverage parsing」中输入「Coverage was
test org.scalatest... scalatest_${scala.compat.version} <version
libraryDependencies += "org.scalameta" %% "scalameta" % "1.3.0", 15 libraryDependencies += "org.scalatest..." %% "scalatest" % "3.0.1" % "test" 16 ) 17 lazy val root = (project in file(".")).aggregate(macros,
领取专属 10元无门槛券
手把手带您无忧上云