tasty-mgolden alternatives and similar packages
Based on the "tasty" category.
Alternatively, view tasty-mgolden alternatives based on common mentions on social networks and blogs.
-
tasty-ant-xml
A tasty ingredient to output test results in XML, using the Ant schema. This XML can be consumed by the Jenkins continuous integration framework. -
tasty-test-reporter
An ingredient for tasty that prints a summary and outputs junit xml that works with jenkins.
SaaSHub - Software Alternatives and Reviews
Do you think we are missing an alternative of tasty-mgolden or a related project?
README
tasty-mgolden
Text based golden tests for tasty, with multi line (colored) diff expectation failure reporting.
Basically this package can turn any IO Text
action into a golden test via providing a
FilePath
.
This package is the small brother of tasty-golden which also implements the same golden testing pattern.
tasty-mgolden
is less generic and more opinionated than its bigger brother.
But for that reason can also offer more ergonomic defaults for its core use case:
Golden testing for IO Text
actions. Where:
- The text value is assuemd to contain multiple lines.
- The expectation failures can be rendered nicely in multi line diffs.
- The diff lines are colored via the tasty infrastructure
- The diff rendering is not done via the external
diff
command, but uses theDiff
package.
Expectation diffs are rendered like developers are used to:
- Removed lines rendered in red.
- Added lines in green.
Usage
This is taken from the [example](example) directory in the repository.
To run these execute from repository root:
stack build
stack exec tasty-mgolden-example
Contents of [example/example-a.txt](example/example-a.txt)
foo
bar
Contents of [example/example-b.txt](example/example-b.txt)
foo
bar
Contents: example/Test.hs
import Test.Tasty
import Test.Tasty.MGolden
main :: IO ()
main = defaultMain $ testGroup "golden tests"
[ goldenTest "example-a" "example/example-a.txt" $ pure "foo\nbar\n"
, goldenTest "example-b" "example/example-b.txt" $ pure "foo\nbaz\n"
]
Output:
golden tests
example-a: OK
example-b: FAIL
foo
-bar
+baz
1 out of 2 tests failed (0.00s)
Passing the --update
flag to accept the changes:
golden tests
example-a: OK
example-b: OK
UPDATE
All 2 tests passed (0.00s)
TODOs
PRs on these are welcome.
- Improve the multi line diff reporting to only show a minimal context around the changed hunks.
- Add line markers in unified diff format.
- Change to
pathtype
fromfilepath
- Future? Upstream this to
tasty-golden
?