fluent-asserts 0.3.0

Fluent assertions done right


To use this package, run the following command in your project's root directory:

Manual usage
Put the following dependency into your project's dependences section:

Fluent Asserts Build Status

Writing unit tests it's easy with Dlang. The unittest block allows you to start writing tests and to be productive with no special setup.

Unfortunately the assert expresion does not help you to write expressive asserts, and in case of a failure it's hard to find why an assert failed. The fluent-assert allow you to more naturally specify the expected outcome of a TDD or BDD-style test.

To begin

  1. Add the DUB dependency: https://code.dlang.org/packages/fluent-asserts
  2. Import it:
import fluent.asserts;
  1. Use it:
    unittest {
        true.should.equal(false);
    }
  1. Run the tests:
➜  dub test --compiler=ldc2
No source files found in configuration 'library'. Falling back to "dub -b unittest".
Performing "unittest" build using ldc2 for x86_64.
fluent-asserts:core 0.2.0+commit.16.g05678db: target for configuration "library" is up to date.
fluent-asserts 0.2.0+commit.16.g05678db: target for configuration "library" is up to date.
fluent-test ~master: building configuration "application"...
To force a rebuild of up-to-date targets, run again with --force.
Running ./fluent-test 
fluentasserts.core.base.TestException@source/app.d(11): true should equal `false`. `true` is not equal to `false`.
 --------------------
 source/app.d
 --------------------
     6: 	writeln("Edit source/app.d to start your project.");
     7: }
     8: 
     9: 
    10: unittest {
>   11: 	true.should.equal(false);
    12: }

----------------
Program exited with code 1

API Docs

The library uses the should template in combination with Uniform Function Call Syntax (UFCS)

auto should(T)(lazy const T testData);

So the following statements are equivalent

exepectedValue.should.equal(42);
should(expectedValue).equal(42);

In addition, the library provides a not modifier that negates the assert condition:

exepectedValue.should.not.equal(42);

You can use fluent asserts with:

License

MIT. See LICENSE for details.

Authors:
  • Szabo Bogdan
Sub packages:
fluent-asserts:core, fluent-asserts:vibe
Dependencies:
fluent-asserts:core
Versions:
1.0.1 2024-Jun-19
1.0.0 2022-Aug-24
1.0.0-beta.2 2022-Aug-24
1.0.0-beta.1 2022-Aug-12
0.14.0-alpha.13 2022-May-02
Show all 64 versions
Download Stats:
  • 8 downloads today

  • 60 downloads this week

  • 221 downloads this month

  • 51050 downloads total

Score:
2.9
Short URL:
fluent-asserts.dub.pm