Aby uzyskać dodatkowe rejestrowanie, muszę mieć możliwość wydrukowania opisu bieżącego testu.Jak mogę pobrać nazwę bieżącego testu w teście mokki?
Jak mogę to zrobić (z Mocha BDD)?
Aby uzyskać dodatkowe rejestrowanie, muszę mieć możliwość wydrukowania opisu bieżącego testu.Jak mogę pobrać nazwę bieżącego testu w teście mokki?
Jak mogę to zrobić (z Mocha BDD)?
Proszę bardzo:
console.log(this.title);
Jeśli są bezpośrednio wewnątrz wywołania zwrotnego describe
, można użyć this.title
o tytule describe
lub this.fullTitle()
uzyskać hierarchiczną tytuł Tytuły describe
(przodków + tytuł tego). Jeśli jesteś wewnątrz callback do it
możesz użyć odpowiednio this.test.title
lub this.test.fullTitle()
. Więc:
describe("top", function() {
console.log(this.title);
console.log(this.fullTitle());
it("test", function() {
console.log(this.test.title);
console.log(this.test.fullTitle());
});
});
W console.log
Powyższe wyjściem będzie:
top
top
test
top test
Oto pełniejsze przykład, który pokazuje, jak tytuły zmieniać w zależności od zagnieżdżenia:
function dump() {
console.log("running: (fullTitle)", this.test.fullTitle(), "(title)",
this.test.title);
}
function directDump() {
console.log("running (direct): (fullTitle)", this.fullTitle(), "(title)",
this.title);
}
describe("top", function() {
directDump.call(this);
it("test 1", dump);
it("test 2", dump);
describe("level 1", function() {
directDump.call(this);
it("test 1", dump);
it("test 2", dump);
});
});
W console.log
oświadczenia będą dane wyjściowe:
running (direct): (fullTitle) top (title) top
running (direct): (fullTitle) top level 1 (title) level 1
running: (fullTitle) top test 1 (title) test 1
running: (fullTitle) top test 2 (title) test 2
running: (fullTitle) top level 1 test 1 (title) test 1
running: (fullTitle) top level 1 test 2 (title) test 2
Czy możesz wskazać dokumentację Mocha gdzie dokumentacja API podobna do 'this.test.fullTitle()' jest udokumentowana? Byłoby wspaniale, gdyby opinia publiczna znała, badała i znajdowała odpowiedzi na takie pytania i więcej. – Yiling
Niestety brakuje dokumentacji w tym obszarze. Jeśli obawiasz się o stabilność tego API, mogę powiedzieć, że reporterzy używają go do tworzenia swoich raportów, więc jeśli twórcy Mocha po prostu go zmienili, złamaliby reporterów stron trzecich. – Louis
Trochę za późno, ale może to pomóc: https://github.com/mochajs/mocha/blob/master/lib/test.js –
Z poziomu beforeEach
spróbuj this.currentTest.title
.
przykład:
beforeEach(function(){
console.log(this.currentTest.title);
})
Stosując Mocha 3.4.1
.
Wewnątrz każdej metody badania
it('test method name'), function() { var testName= this.test.title; }
i można użyć:
afterEach(function(){
console.log(this.currentTest.title); //displays test title for each test method
});
To nie działa. –
nie działa. powinno być this.test.title jak w @louis odpowiedź poniżej –