Assertpy is a simple assertion library in python with a nice fluent API. All automation testing validations should be asserted. In Java, we use AssertJ to compare actual and expected result. However, Assertpy is a suitable package to write readable assertions with method chaining concept. Implementing BDD step definitions using Assertpy enables effective collaboration between testers and other stakeholders. Writing chaining method calls for assertion helps automation testers to understand the existing test scripts during maintenance.
Installation
pip install assertpy
Matching strings
assert_that('').is_not_none() assert_that('').is_empty() assert_that('').is_false() assert_that('').is_type_of(str) assert_that('').is_instance_of(str) assert_that('foo').is_length(3) assert_that('foo').is_not_empty() assert_that('foo').is_true() assert_that('foo').is_alpha() assert_that('123').is_digit() assert_that('foo').is_lower() assert_that('FOO').is_upper() assert_that('foo').is_iterable() assert_that('foo').is_equal_to('foo') assert_that('foo').is_not_equal_to('bar') assert_that('foo').is_equal_to_ignoring_case('FOO') assert_that(u'foo').is_unicode() # on python 2 assert_that('foo').is_unicode() # on python 3 assert_that('foo').contains('f') assert_that('foo').contains('f','oo') assert_that('foo').contains_ignoring_case('F','oO') assert_that('foo').does_not_contain('x') assert_that('foo').contains_only('f','o') assert_that('foo').contains_sequence('o','o') assert_that('foo').contains_duplicates() assert_that('fox').does_not_contain_duplicates() assert_that('foo').is_in('foo','bar','baz') assert_that('foo').is_not_in('boo','bar','baz') assert_that('foo').is_subset_of('abcdefghijklmnopqrstuvwxyz') assert_that('foo').starts_with('f') assert_that('foo').ends_with('oo') assert_that('foo').matches(r'w') assert_that('123-456-7890').matches(r'd{3}-d{3}-d{4}') assert_that('foo').does_not_match(r'd+')
Matching Integers
assert_that(0).is_not_none() assert_that(0).is_false() assert_that(0).is_type_of(int) assert_that(0).is_instance_of(int) assert_that(0).is_zero() assert_that(1).is_not_zero() assert_that(1).is_positive() assert_that(-1).is_negative() assert_that(123).is_equal_to(123) assert_that(123).is_not_equal_to(456) assert_that(123).is_greater_than(100) assert_that(123).is_greater_than_or_equal_to(123) assert_that(123).is_less_than(200) assert_that(123).is_less_than_or_equal_to(200) assert_that(123).is_between(100, 200) assert_that(123).is_close_to(100, 25) assert_that(1).is_in(0,1,2,3) assert_that(1).is_not_in(-1,-2,-3)
In Conclusion:
Assertpy development is still active. There are more assertions packages available in Python, we will review in the subsequent blog articles.
Comments(0)