Używam Mochy w przeglądarce.

Funkcja wewnętrzna wykonana mam obiekt o nazwie

it('', function(done){
                console.log(this.test);
                  done(error);
              });

Jeśli sprawdzimy dziennik, otrzymamy this.test obiekt typu "test".

Test {title: "", fn: function, async: 1, sync: false, _timeout: 50000…}

Jeśli konsoli to.

Chcę wyodrębnić informacje o czasie trwania tego "testowego obiektu typu".

Jak to zrobić..??

0
codeofnode 2 grudzień 2013, 16:18

2 odpowiedzi

Najlepsza odpowiedź

Przeczytałem źródło Mochy, ale nie widzę sposobu na wyodrębnienie z sprawy testowej informacje, które chcesz , podczas gdy testuje się. Pole duration jest obliczane raz, gdy kończy się test.

Nadal możesz obliczyć, jak długo działa testami:

it('', function(done){
    var started_at = new Date;
    [... do stuff ...]
    console.log("duration so far:" , (new Date - started_at) + "ms");
    [... do more stuff ...]
    done(error);
});
1
Louis 2 grudzień 2013, 12:33

Możesz uzyskać dostęp tylko właściwości this.test, gdy test jest faktycznie i wykonany. Aby więc pobrać te dane, musisz zadzwonić done(); przed logowaniem do konsoli.

it("is a test", function(done) {
    done();
    console.log(this.test.title);
    console.log(this.test.state);
});
>> "is a test"
>> "passed"
2
Henrik Andersson 2 grudzień 2013, 12:26