All Projects → factor10 → intent

factor10 / intent

Licence: Apache-2.0 license
Test framework for Dotty

Programming Languages

scala
5932 projects
CSS
56736 projects
HTML
75241 projects
shell
77523 projects

Projects that are alternatives of or similar to intent

Opunit
🕵️‍♂️ Sanity checking containers, vms, and servers
Stars: ✭ 176 (+1157.14%)
Mutual labels:  test-framework
Lightbdd
BDD framework allowing to create easy to read and maintain tests.
Stars: ✭ 195 (+1292.86%)
Mutual labels:  test-framework
Warewolf
Effortless Microservice Design and Integration. This repository includes the code-base for the Warewolf Studio and Server.
Stars: ✭ 238 (+1600%)
Mutual labels:  test-framework
Rstest
Fixture-based test framework for Rust
Stars: ✭ 182 (+1200%)
Mutual labels:  test-framework
Dotnet Testcontainers
A library to support tests with throwaway instances of Docker containers for all compatible .NET Standard versions.
Stars: ✭ 195 (+1292.86%)
Mutual labels:  test-framework
Recheck Web
recheck for web apps – change comparison tool with local Golden Masters, Git-like ignore syntax and "Unbreakable Selenium" tests.
Stars: ✭ 224 (+1500%)
Mutual labels:  test-framework
Webtau
Webtau (short for web test automation) is a testing API, command line tool and a framework to write unit, integration and end-to-end tests. Test across REST-API, Graph QL, Browser, Database, CLI and Business Logic with consistent set of matchers and concepts. REPL mode speeds-up tests development. Rich reporting cuts down investigation time.
Stars: ✭ 156 (+1014.29%)
Mutual labels:  test-framework
tau
A Micro (1k lines of code) Unit Test Framework for C/C++
Stars: ✭ 121 (+764.29%)
Mutual labels:  test-framework
Truth
Fluent assertions for Java and Android
Stars: ✭ 2,359 (+16750%)
Mutual labels:  test-framework
Grizzly
A cross-platform browser fuzzing framework
Stars: ✭ 234 (+1571.43%)
Mutual labels:  test-framework
Catch2
A modern, C++-native, test framework for unit-tests, TDD and BDD - using C++14, C++17 and later (C++11 support is in v2.x branch, and C++03 on the Catch1.x branch)
Stars: ✭ 14,330 (+102257.14%)
Mutual labels:  test-framework
Qt4i
QTA driver for iOS app
Stars: ✭ 191 (+1264.29%)
Mutual labels:  test-framework
Hiverunner
An Open Source unit test framework for Hive queries based on JUnit 4 and 5
Stars: ✭ 225 (+1507.14%)
Mutual labels:  test-framework
Cidlib
The CIDLib general purpose C++ development environment
Stars: ✭ 179 (+1178.57%)
Mutual labels:  test-framework
Bandit
Human-friendly unit testing for C++11
Stars: ✭ 240 (+1614.29%)
Mutual labels:  test-framework
Nunit
NUnit 3 Framework
Stars: ✭ 2,131 (+15121.43%)
Mutual labels:  test-framework
Japa
Embedable test runner for Node.js
Stars: ✭ 202 (+1342.86%)
Mutual labels:  test-framework
bpmn-spec
A tool to run tests for BPMN processes on Zeebe
Stars: ✭ 28 (+100%)
Mutual labels:  test-framework
tcframe
Test cases generation framework for competitive programming problems
Stars: ✭ 147 (+950%)
Mutual labels:  test-framework
Java Testing With Spock
Code samples from the book "Java testing with Spock"
Stars: ✭ 232 (+1557.14%)
Mutual labels:  test-framework

Intent

Actions Status

Intent is an opinionated test framework for Dotty. It builds on the following principles:

  • Low ceremony test code
  • Uniform test declaration
  • Futures and async testing
  • Arranging test state
  • Fast to run tests

Here is an example on how the tests look:

class StatefulTest extends TestSuite with State[Cart]:
  "an empty cart" using Cart() to :
    "with two items" using (_.add(CartItem("beach-chair", 2))) to :
      "and another three items" using (_.add(CartItem("sunscreen", 3))) to :
        "contains 5 items" in :
          cart => expect(cart.totalQuantity).toEqual(5)

case class CartItem(artNo: String, qty: Int)

case class Cart(items: Seq[CartItem] = Seq.empty):
  def add(item: CartItem): Cart = copy(items = items :+ item)
  def totalQuantity = items.map(_.qty).sum

This readme is focused on building and testing Intent, for documentation on how to use Intent to write tests, see User documentation.

Getting started

Add Intent to your SBT project with the following lines to your build.sbt:

libraryDependencies += "com.factor10" %% "intent" % "0.6.0",
testFrameworks += new TestFramework("intent.sbt.Framework")

Development environment

Intent is an early adopter of Dotty features, which means:

  • You need a recent Dotty (>= 0.25.0-RC1) since Intent use the latest Scala 3 syntax.

  • Visual Studio Code seems to be the best supported editor (although not perfect)

Contributing

See Contributing to Intent

License

Intent is Open Source and released under Apache 2.0. See LICENSE for details.

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].