Kein Plugin erforderlich. Sie könnten bereits mit den nativen DOM-APIs (z. B. el.querySelector()
) oder mit Polymerinstanzverfahren (z. B. el.$$()
oder el.getEffectiveChildren()
) auf das DOM der Testvorrichtung zugreifen. Ich überprüfte diese mit Shady und Schatten Dom auf Chrome 53 und 56.
In diesem Beispiel wird ein paar DOM bezogene Aussagen zu afterEach()
, die nach jedem Test läuft:
<test-fixture id="basic">
<template>
<my-app></my-app>
</template>
</test-fixture>
<script>
describe('my-app', function() {
var el;
beforeEach(function() {
el = fixture('basic');
});
afterEach(function() {
expect(el.$$('h2').textContent).to.have.string('Hello');
expect(el.querySelectorAll('*')).to.have.lengthOf(2);
});
it('instantiating the el works', function() {
expect(el.is).to.equal('my-app');
});
});
</script>
Gibt es eine Möglichkeit, diese afterEach anzuwenden global zu allen meinen Test-Suiten? Ich habe Hunderte von ihnen. Es wäre nicht effizient, jeden manuell einzustellen. – x74x61
Sie könnten einen Wrapper für 'describe()' hinzufügen, der ein 'afterEach()' hat, und Ihre Testdatei refs zu 'describe()' mit Ihrem Wrapper ersetzen. Du solltest das als eine neue Frage für [tag: mocha] stellen, um eine definitive Antwort zu bekommen. – tony19