Dodaliśmy toHaveClass
zwyczaj jaśmin i dopasowywania, w celu uczynienia go pracy, trzeba było dodać go do beforeEach()
(z pomocą this topic).niestandardowe dopasowujących jaśminu i kątomierz
A, zgodne z zasadą DRY i uniknąć powtarzania definicji dopasowujący w każdym beforeEach()
w specyfikacji gdzie toHaveClass
jest potrzebna, dodaliśmy beforeEach()
blok w prawo w onPrepare()
:
onPrepare: function() {
var jasmineReporters = require("jasmine-reporters");
require("jasmine-expect");
// ...
// custom matchers
beforeEach(function() {
jasmine.addMatchers({
toHaveClass: function() {
return {
compare: function(actual, expected) {
return {
pass: actual.getAttribute("class").then(function(classes) {
return classes.split(" ").indexOf(expected) !== -1;
})
};
}
};
}
});
});
},
to rzeczywiście działa, ale za każdym razem, gdy widzę blok beforeEach()
wewnątrz konfiguracji kątomierza, mam mikro-depresję i silne wrażenie, że nie jest to dobre miejsce do definiowania dopasowań.
Pytanie:
Czy istnieje lepszy sposób lub miejsce na niestandardowe dopasowujących zdefiniowane?