titan alternatives and similar packages
Based on the "Testing" category.
Alternatively, view titan alternatives based on common mentions on social networks and blogs.
-
hedgehog
Release with confidence, state-of-the-art property testing for Haskell. -
quickcheck-state-machine
Test monadic programs using state machine based models -
curl-runnings
A declarative test framework for quickly and easily writing integration tests against JSON APIs. -
smallcheck
Test your Haskell code by exhaustively checking its properties -
ghc-prof-flamegraph
Generates data to be used with flamegraph.pl from .prof files. -
monad-mock
A Haskell package that provides a monad transformer for mocking mtl-style typeclasses -
test-framework
Framework for running and organising QuickCheck test properties and HUnit test cases -
tasty-hedgehog
Tasty integration for the Hedgehog property testing library -
should-not-typecheck
A HUnit/hspec assertion to verify that an expression does not typecheck -
quickcheck-arbitrary-adt
Typeclass for generating a list of each instance of a sum type's constructors -
hspec-golden-aeson
Use tests to monitor changes in Aeson serialization -
test-framework-th
Automagically (using Template Haskell) generates the Haskell-code you need when using HUnit -
test-framework-sandbox
test-sandbox support for the test-framework package
WorkOS - The modern identity platform for B2B SaaS
Do you think we are missing an alternative of titan or a related project?
README
Haskell Titan - Testing Infrastructure for Temporal AbstractioNs
Haskell Titan is a testing and debugging system for reactive, time-varying and interactive software.
It is built on the principles of Functional Reactive Programming, although it's ideas can be applied to other time-based abstractions.
Structure of Haskell Titan
Haskell Titan is composed of two parts: testing facilities and debugging facilities.
The testing facilities allow you to: 1) describe and test temporal unit tests, and 2) test FRP programs using QuickCheck (both using real traces or unit tests)
The debugging facilities allow you to: 1) record and replay FRP programs in a referentially transparent manner and 2) debug programs as you run them.
Part of the testing facilities have been introduced in Yampa's repository directly, and you can find them at:
https://github.com/ivanperez-keera/Yampa
In this repo you will find:
An extension of Yampa to run programs recording their input and debugging them.
An interactive debugging GUI to connect to a running Yampa program and control it remotely.
Getting started
Debugging
It's easier to get started with an example:
$ git clone https://github.com/keera-studios/haskell-titan
$ cd haskell-titan
$ git clone https://github.com/ivanperez-keera/Yampa
$ cabal sandbox init
$ cabal install Yampa/ -fexpose-core
$ cabal install -fexamples titan-yampa-debugger/
$ cabal install titan-gui/
$ ./.cabal-sandbox/bin/titan-gui &
$ ./.cabal-sandbox/bin/titan-yampa-debugger-example-bouncing-ball
You'll need GTK with glade installed. On Ubuntu you can:
$ apt-get install libglade2-dev
Related Papers
Collaborations
Please, send pull requests and file bugs.
If you are considering to do something similar for a different FRP implementation, please consider adding a new backend for this project so that we can join efforts. That way our efforts will be more likely to help you, and yours will also help us. There's always some extra effort from trying to collaborate with others, but it's totally worth it :)
Copyright
This software is the Copyright of Keera Studios Ltd. It is released under GPL-3 license.
If you find this license too restrictive for the environment where you need to use Haskell Titan or to create an extension, please contact us at [email protected] and provide details about your case. We may be able to grant an exception.
*Note that all licence references and agreements mentioned in the titan README section above
are relevant to that project's source code only.