# Little testing tip

**URL:** <https://swi-prolog.discourse.group/t/little-testing-tip/1371>\
**Category:** Nice to know\
**Tags:** testing\
**Created:** [October 10, 2019, 2:43am UTC](https://swi-prolog.discourse.group/t/little-testing-tip/1371 "2019-10-10T02:43:13Z")\
**Posts on this page:** 1\
**Showing post:** 5

<div class="post-metadata">

**Author:** ![jan](https://yyz2.discourse-cdn.com/free1/user_avatar/swi-prolog.discourse.group/jan/32/4_2.png) [@jan](https://swi-prolog.discourse.group/u/jan)\
**Post date:** [October 10, 2019, 8:46am UTC](https://swi-prolog.discourse.group/t/little-testing-tip/1371/5 "2019-10-10T08:46:20Z")

</div>

Another predicate that can come handy is [subsumes\_term/2](https://www.swi-prolog.org/pldoc/doc_for?object=subsumes_term/2), notably for verifying complex terms such as error terms where you typically only want to make sure part of the structure has a given shape and do not care about e.g., the second argument of the `error(Formal,Context)` term. In most cases [=@=](https://www.swi-prolog.org/pldoc/man?predicate=%3D@%3D/2) (variant) has my preference or [==](https://www.swi-prolog.org/pldoc/man?predicate=%3D%3D/2) if the output should contain some specific variable.

---

_[View the full topic](https://swi-prolog.discourse.group/t/little-testing-tip/1371)._
