Pertanyaan Kerangka kerja pengujian untuk Javascript mana yang mendukung Pengujian tanpa peramban?


Untuk Javascript beberapa kerangka pengujian ada, seperti JSUnit atau js-test-driver. Mereka baik-baik saja, tetapi mereka menjalankan tes di browser. Itu bagus, terutama untuk memverifikasi webapp Anda berjalan di berbagai browser. Tetapi pada keluar-integrasi-server tidak ada sistem-jendela (dan tidak ada browser) yang diinstal. Jadi apakah ada cara untuk menjalankan tes tanpa menggunakan browser? Yang terbaik adalah menggunakan salah satu kerangka kerja yang ada, sehingga para pengembang dapat menjalankan pengujian secara lokal di browser mereka dan sistem integrasi berkelanjutan menjalankannya tanpa browser.


8
2017-07-10 12:15


asal


Jawaban:


Anda mungkin tertarik HtmlUnit yang digunakan oleh beberapa kerangka pengujian UI seperti WebDriver 


1
2017-07-14 20:41



jsTest dapat menjalankan baris perintah atau sebagai plugin gerhana.

Namun, berhati-hatilah, Anda tidak akan mendapatkan cakupan kode 100% menggunakan alat seperti ini jika Anda perlu mendukung beberapa browser. Setiap browser mengimplementasikan JavaScript secara berbeda (yaitu: IE). Oleh karena itu, satu-satunya cara untuk sepenuhnya menguji JavaScript Anda adalah dengan menjalankan pengujian di semua browser yang Anda dukung.


1
2017-07-10 12:23



Lihatlah artikel-artikel berikut:

Selain itu, kami memiliki server jsTestDriver yang berjalan dengan beberapa browser web (sebagai peluncur konsol jarak jauh) sebagai sumber daya untuk Jenkins, sehingga Anda dapat memiliki CI dengan pengujian di browser web.


1
2018-03-04 13:02



Saya percaya Canoo WebTest dapat dijalankan tanpa browser. Ini pada dasarnya merupakan framework frontend-testing tetapi dapat digunakan untuk menguji JavaScript juga:

http://webtest.canoo.com/


0
2017-07-10 12:23



JSpec dapat dijalankan tanpa browser (menggunakan Rhino). Tetapi juga mendukung dijalankan di browser juga.

http://visionmedia.github.com/jspec/

Ini juga menyediakan sintaks gaya spesifikasi yang bagus:

describe 'ShoppingCart'   
  describe 'addProduct'   
    it 'should add a product'  
      cart.addProduct('cookie') 
      cart.addProduct('icecream') 
      cart.should.have 2, 'products'   
    end   
  end 
end

Dengan menjalankan semua tes unit Anda di luar browser, Anda juga mendapatkan manfaat dari memastikan pemisahan logika Anda dari lapisan html / presentation (berguna untuk aplikasi web, mungkin berlebihan untuk skrip kecil).


0
2017-08-25 09:57



Jasmine akan berjalan cukup bahagia di dalam node.js.


0
2018-03-02 23:53