scalajs-test-helper-scalatest


License

License

Categories

Categories

JavaScript Languages Scala Net
GroupId

GroupId

net.exoego
ArtifactId

ArtifactId

scalajs-test-helper-scalatest_sjs1_2.12
Last Version

Last Version

0.2.0
Release Date

Release Date

Type

Type

jar
Description

Description

scalajs-test-helper-scalatest
scalajs-test-helper-scalatest
Project URL

Project URL

https://github.com/exoego/scalajs-test-helper
Project Organization

Project Organization

net.exoego
Source Code Management

Source Code Management

https://github.com/exoego/scalajs-test-helper

Download scalajs-test-helper-scalatest_sjs1_2.12

How to add to project

<!-- https://jarcasting.com/artifacts/net.exoego/scalajs-test-helper-scalatest_sjs1_2.12/ -->
<dependency>
    <groupId>net.exoego</groupId>
    <artifactId>scalajs-test-helper-scalatest_sjs1_2.12</artifactId>
    <version>0.2.0</version>
</dependency>
// https://jarcasting.com/artifacts/net.exoego/scalajs-test-helper-scalatest_sjs1_2.12/
implementation 'net.exoego:scalajs-test-helper-scalatest_sjs1_2.12:0.2.0'
// https://jarcasting.com/artifacts/net.exoego/scalajs-test-helper-scalatest_sjs1_2.12/
implementation ("net.exoego:scalajs-test-helper-scalatest_sjs1_2.12:0.2.0")
'net.exoego:scalajs-test-helper-scalatest_sjs1_2.12:jar:0.2.0'
<dependency org="net.exoego" name="scalajs-test-helper-scalatest_sjs1_2.12" rev="0.2.0">
  <artifact name="scalajs-test-helper-scalatest_sjs1_2.12" type="jar" />
</dependency>
@Grapes(
@Grab(group='net.exoego', module='scalajs-test-helper-scalatest_sjs1_2.12', version='0.2.0')
)
libraryDependencies += "net.exoego" % "scalajs-test-helper-scalatest_sjs1_2.12" % "0.2.0"
[net.exoego/scalajs-test-helper-scalatest_sjs1_2.12 "0.2.0"]

Dependencies

compile (4)

Group / Artifact Type Version
org.scala-lang : scala-library jar 2.12.10
net.exoego : scalajs-test-helper-core_sjs1_2.12 jar 0.2.0
org.scala-js : scalajs-library_2.12 jar 1.0.0
org.scalatest : scalatest_sjs1_2.12 jar 3.1.1

test (1)

Group / Artifact Type Version
org.scala-js : scalajs-test-bridge_2.12 jar 1.0.0

Project Modules

There are no modules declared in this project.

Scala.js Test Helper

This project provides custom assertions and other helpers, which are convenient for writing test in Scala.js.

Usage

With ScalaTest

The scalajs-test-helper-scalatest library is available for Scala.js 0.6.x and 1.0.0.

libraryDependencies += "net.exoego" %%% "scalajs-test-helper-scalatest" % "0.2.0" % Test

Import net.exoego.scalajs.scalatest.structural._. This imports some custom Equality implementations for JavaScript objects (e.g. js.Object and js.Array). Those allows comparing two JS objects based on its contents, as similar as comparing Scala objects.

import org.scalatest.funsuite.AnyFunSuite
import scala.scalajs.js

class JsObjectStructuralEqualityTest extends AnyFunSuite {
  import net.exoego.scalajs.scalatest.structural._

  test("content equal of js.Array") {
    assert(js.Array() != js.Array())

    assert(js.Array() === js.Array())
    assert(js.Array(1, "a") === js.Array(1, "a"))
    assert(js.Array(new js.Object()) === js.Array(new js.Object()))
  }
}

With MUnit

The scalajs-test-helper-munit library is available for Scala.js 0.6.x and 1.0.0.

libraryDependencies += "net.exoego" %%% "scalajs-test-helper-munit" % "0.2.0" % Test

Import net.exoego.scalajs.munit.ScalaJSAssertions and extend it by your Test class. Those allows comparing two JS objects based on its contents, as similar as comparing Scala objects.

import scala.scalajs.js
import net.exoego.scalajs.munit.ScalaJSAssertions

class JsObjectStructuralEqualityTest extends munit.FunSuite with ScalaJSAssertions {

  test("content equal of js.Array") {
    assertStructuralEquals(js.Array(), js.Array())
    assertStructuralEquals(js.Array(1, "a"), js.Array(1, "a"))
    assertStructuralEquals(js.Array(new js.Object()), js.Array(new js.Object()))

    assertNotStructuralEquals(js.Array(0, "b"), js.Array(1, "a"))
  }
}

Other test library

Not supported but welcome contributions.

Versions

Version
0.2.0