Webdriverio: Cakupan Kode

Dibuat pada 4 Jan 2016  ·  3Komentar  ·  Sumber: webdriverio/webdriverio

Apakah ada rencana untuk memasukkan cakupan kode? Saya menemukan https://github.com/gotwarlost/istanbul/issues/132 tetapi sepertinya tidak ada cara yang bagus untuk melakukan ini. (Saya secara khusus tertarik pada mentimun)

Komentar yang paling membantu

Karena dengan WebdriverIO Anda menulis tes e2e yang harus menguji kasus bisnis dari ujung ke ujung (seperti namanya). Oleh karena itu Anda tidak menguji kode tetapi aliran pengguna tertentu. Anda mencoba untuk mencakup semua aspek bisnis aplikasi Anda. Meskipun secara teknis Anda dapat menangkap jumlah kode yang dieksekusi di frontend, itu tidak masuk akal karena sama sekali tidak menarik untuk kasus bisnis Anda.

Dengan pengujian unit, Anda benar-benar melakukan kode pengujian dan oleh karena itu cakupan kode penting untuk melihat seberapa baik Anda melakukan pengujian. Dalam hal ini memiliki nilai.

Jangan ragu untuk menangkap laporan cakupan dalam pengujian fungsional, tetapi Anda akhirnya akan mencoba membuat laporan ini terlihat bagus dengan menulis lebih banyak pengujian e2e daripada pengujian unit atau pengujian integrasi. Ini semua tentang apa yang Anda coba uji dan alat apa yang Anda gunakan untuk itu.

Semua 3 komentar

Pertama-tama saya tidak berpikir bahwa cakupan kode harus menjadi bagian dari tes integrasi Anda. Anda harus menulis tes unit terlebih dahulu dan memastikan bahwa Anda memiliki cakupan kode yang layak di sana. Selenium/WebdriverIO kemudian harus mencakup integrasi ujung ke ujung dari tumpukan Anda.

Namun Anda dapat melakukan hal yang sama seperti yang dijelaskan dalam utas masalah tersebut menggunakan WebdriverIO. Alih-alih menggunakan sintaks Selenium-webdriver, cukup gunakan perintah WebdriverIOs:

    client.execute("return window.__coverage__;").then(function (obj) {
        var str = JSON.stringify(obj);
        var options = {
            port: 8888,
            host: "localhost",
            path: "/coverage/client",
            method: "POST",
            headers: {
                "Content-Type": "application/json",
            }
        };
        var req = http.request(options, function (res) {
            console.log("\nFinished sending coverage data.");
            done();
        });
        req.write(str);
        req.end();
    });

Tetapi sekali lagi, Anda tidak boleh menyertakan cakupan kode dalam pengujian integrasi Anda.

@christian-bromann

saya bertanya-tanya mengapa Anda percaya laporan liputan tidak boleh menjadi bagian dari tes fungsional

Karena dengan WebdriverIO Anda menulis tes e2e yang harus menguji kasus bisnis dari ujung ke ujung (seperti namanya). Oleh karena itu Anda tidak menguji kode tetapi aliran pengguna tertentu. Anda mencoba untuk mencakup semua aspek bisnis aplikasi Anda. Meskipun secara teknis Anda dapat menangkap jumlah kode yang dieksekusi di frontend, itu tidak masuk akal karena sama sekali tidak menarik untuk kasus bisnis Anda.

Dengan pengujian unit, Anda benar-benar melakukan kode pengujian dan oleh karena itu cakupan kode penting untuk melihat seberapa baik Anda melakukan pengujian. Dalam hal ini memiliki nilai.

Jangan ragu untuk menangkap laporan cakupan dalam pengujian fungsional, tetapi Anda akhirnya akan mencoba membuat laporan ini terlihat bagus dengan menulis lebih banyak pengujian e2e daripada pengujian unit atau pengujian integrasi. Ini semua tentang apa yang Anda coba uji dan alat apa yang Anda gunakan untuk itu.

Apakah halaman ini membantu?
0 / 5 - 0 peringkat