2017-01-18 98 views

Odpowiedz

1

Dla komponentów polimerowych istnieje rozwiązanie do pomiaru wspólnego zasięgu z karma-coverage: podzielenie na pliki .js i włączenie go do komponentów. Przykładem jest here

2

Dla Polymer normalnie używa się web-component-tester (WCT) do testowania komponentów i wtyczki web-component-tester-istanbul do pokrycia kodu. chcesz skonfigurować wct.conf.json w katalogu głównym projektu z mniej więcej tak:

{ 
    "suites": [ 
    "test/components/my-view1/my-view1.html" 
    ], 
    "plugins": { 
    "istanbul": { 
     "dir": "./build/coverage", 
     "reporters": [ 
     "text-summary", 
     "lcov" 
     ], 
     "include": [ 
     "*.js", 
     "*.html" 
     ], 
     "exclude": [] 
    } 
    } 
} 

a następnie uruchomić wct, który wyprowadza coś takiego:

enter image description here

Niestety, najnowsze uaktualnienie w WCT stworzyła wtyczkę zasięgu incompatible, tak że wtyczka nigdy nie zostanie wywołana, więc zasięg jest zawsze pokazywany jako 100% (0/0) (bez pokrycia linii, bez widocznych linii).

+0

Dzięki, wiem o WCT i uznał ten problem na GitHub https://github.com/thedeeno/web-component-tester-istanbul/issues/38, może mogę użyć poprzedniej wersji. Ale czy próbowałeś zmierzyć zasięg za pomocą wct dla wszystkich plików .js w roztworze? (nie tylko dla komponentów Polymer) –

+1

Tak, to jest problem, z którym się łączyłem. :) Nie miałem szczęścia próbując poprzednich wersji WCT z 'istanbul'. Chciałbym usłyszeć o twoim doświadczeniu, zwłaszcza jeśli sprawisz, że będzie działał. Tak, próbowałem zmierzyć zarówno '* .js' i' * .html', jak w skrypcie wewnątrz plików 'html' (zobacz ustawienie' include' w konfiguracji). – tony19

+0

Dla testów innych niż komponenty używam QUnit, ale nie jest to obsługiwane w WCT, więc ostatnią opcją jest podział komponentów na plik .js i plik .html, jak w odpowiedzi poniżej –