There are plenty of documents that show how to add a matcher to a Jasmine spec (here, for example).
Has anyone found a way to add matchers to the whole environment; I'm wanting to create a set of useful matchers to be called by any and all tests, without copypasta all over my specs.
Currently working to reverse engineer the source, but would prefer a tried and true method, if one exists.
Custom Matchers describe('This custom matcher example', function() { beforeEach(function() { // We should add custom matched in beforeEach() function. jasmine. addMatchers ({ validateAge: function() { Return { compare: function(actual,expected) { var result = {}; result. pass = (actual > = 13 && actual < = 19); result.
The toBeGreaterThan and toBeLessThan matchers check if something is greater than or less than something else.
toBe (named expectationFailOutput ) is the message to be displayed when expect fails.
Sure, you just call beforeEach()
without any spec scoping at all, and add matchers there.
This would globally add a toBeOfType
matcher.
beforeEach(function() { var matchers = { toBeOfType: function(typeString) { return typeof this.actual == typeString; } }; this.addMatchers(matchers); }); describe('Thing', function() { // matchers available here. });
I've made a file named spec_helper.js
full of things like custom matchers that I just need to load onto the page before I run the rest of the spec suite.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With