Socket
Socket
Sign inDemoInstall

assertive

Package Overview
Dependencies
0
Maintainers
1
Alerts
File Explorer

Install Socket

Detect and block malicious and high-risk dependencies

Install

    assertive

A small assertion library


Maintainers
1

Readme

Fluent Assertions

A DSL like assertion library that enables concise high quality assertions in your tests

Assertions

Assertions follow a simple pattern

assert_that(subject).matches(comparison) # object or criteria
assert_that(subject).does_not_match(comparison) # object or criteria

# Same as above
assert_that(subject) == comparison # object or criteria
assert_that(subject) != comparison # object or criteria

Using matchers without criteria, just use classic asserts

assert 2 == is_greater_than(1)

Critera Objects

Critera helps define complex assertions in a concise manner

Some examples of criteria

assert_that(5).matches(is_greater_than(4))
assert_that(5).matches(is_greater_than_or_equal(5))
assert_that(5).matches(is_odd())

Logical criteria operations

assert_that(5).matches(is_odd() & is_greater_than(4)) # And
assert_that(5).matches(is_odd() | is_greater_than(10)) # Or
assert_that(5).matches(~is_even()) # Inverted

Matching

Basic

is_equal_to
assert_that(5).matches(5)
assert_that(5).matches(is_equal_to(5))

assert_that("hello").matches("hello")
assert_that("hello").matches(is_equal_to("hello"))
is_greater_than
assert_that(5).matches(is_greater_than(3))
assert_that(5) == is_greater_than(3)
is_greater_than_or_equal
assert_that(5).matches(is_greater_than_or_equal(5))
is_less_than
assert_that(5).matches(is_less_than(10))
is_less_than_or_equal
assert_that(5).matches(is_less_than_or_equal(10))
assert_that(5).matches(is_less_than_or_equal(5))
is_between
assert_that(5).matches(is_between(5, 10)) # passes
assert_that(5).matches(is_between(5, 10).exclusive) # fails
assert_that(5).matches(is_between(5, 10).inclusive) # passes
is_same_instance_as
x = "hello"
y = x

assert_that(x).matches(is_same_instance_as(y)) # passes
as_string_matches

When the subject called with the str the subject matches the criteria

assert_that(5).matches(as_string_matches("5")) # passes
assert_that(12345).matches(as_string_matches(ends_with("45"))) # passes

Exceptions

Exceptions can be tested in two different ways.

  1. As a callable
assert_that(lambda: my_exception_raising_method(123)).matches(raises_exception(Exception))
  1. As a context manager

with raises_exception(Exception):
    my_exception_raising_method(123)

FAQs


Did you know?

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Install

Related posts

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc