- Professional Scala
- Mads Hartmann Ruslan Shevchenko
- 84字
- 2021-07-23 17:24:23
Unit Testing
In any program which is bigger than arithmetic operations, programmers should make themselves comfortable when it is possible to ensure that new changes are not breaking old functionalities.
The most common technique for this is unit testing, which is where the programmer tests the functionality of the code in parallel with its development by creating a test code which will verify that the code really satisfies their requirements.
The theme of this section will be introducing tools for unit testing in Scala.
Adding a Test to Our Project
Let's add tests to our small program. We'll import <for-students/lesson1/2-project>
in our IDE.
This is the directory schema of a Scala project. For adding tests, we should do the following:
- Add test dependencies to
build.sbt
- Write tests in the source test directory
For adding dependency, let's add the following line to our build.sbt
:
libraryDependencies += "org.scalatest" %% "scalatest" % "3.0.4" % "test"
It's an expression in Scala DSL (domain-specific language), which means that we should add scalatest
to our set of library dependencies. Operators %%
and %
are used for forming the name and classifier for published artifacts. You can refer to the sb
t
documentation for more detail: http://www.scala-sbt.org/1.x/docs/Library-Dependencies.html.
Before compilation, sbt
will download scalatest
from a publicly available repository (Maven central), and when running tests, it will add scalatest
to the classpath.
We will now run sbt
tests from the command line.
- In the command-line environment, navigate to the root of the project and select the following test:
Lesson 1/2-project
- If you are using a Unix/Linux machine and your code is situated in
courses/pactscala
of your homedirectory
, then run the following command:> cd ~/courses/packscala/Lesson 1/2-project
- Run the following command
:
> sbt test
- You will get the expected output, which will include the following strings:
[info] ExampleSpec: [info] - example test should pass [info] StepTest: [info] - step of unparded word must be interesting
We will now see how to run sbt
tests from IDEA IDE.
We'll now run sbt Tests from IDEA IDE.
- Hands-On Chatbot Development with Alexa Skills and Amazon Lex
- HCNA網絡技術
- Yii Application Development Cookbook(Second Edition)
- 2小時讀懂物聯網
- Bonita Open Solution 5.x Essentials
- 物聯網與智能家居
- 6G:面向2030年的移動通信
- 物聯網工程導論(第3版)
- Hands-On Bitcoin Programming with Python
- SEO攻略:搜索引擎優化策略與實戰案例詳解
- 黑客與反黑工具使用詳解
- 物聯網技術與實踐
- Python Web Scraping Cookbook
- 網絡互聯技術(理論篇)
- 物聯網商業設計與案例