Cucumberjs, phantomjs, proxy sunucusunu 127.0.0.1'e ayarlayarak http-proxy
ve nock
oradan bir node.js sürecini bağlayarak REST API'yi simüle ettim . CucumberJS önemli bir parçası değildir, herhangi bir şekilde test senaryosu yazabilirsiniz, gerisi simülasyonun anahtarıdır. Sadece eşleştirme-istek-dönüş-verisi ile alay edebilir, ancak bir yanıt üretmek için desenlere ve kanca geri arama işlevine göre de filtreleyebilirsiniz, böylece ihtiyacınız olan herhangi bir ayrıntı düzeyine (aşırı uçta tam demo sunucusu, ancak kademeli olarak yapabilirsiniz).
Güzel çalışıyor:
- Phantomjs bir URI ister.
- İstek 127.0.0.1:port'ta proxy sunucusuna gider.
- Node.js işleminiz, kullanarak ileriye dönük olarak proxy'leri kullanır
http-proxy
. Böylece herhangi bir "normal" yükleme (sayfalar, resimler) çalışır.
- Bazı istekleri (çoğunlukla API) durdurmayı seçerseniz,
nock
bunun için kullanırsınız .
Benim senaryomda, aynı süreçte salatalık js testleri ile birleştirdim, bu yüzden şöyle gitti:
- Test çalışır.
nock
Test ettiği senaryo için HTTP alaycılığını ayarlar .
- Selenium protokolü ile phantomjs'a bir sayfa yükler.
Gerisi bu paragrafta daha önce gösterildiği gibidir (yani, bir döngü biraz, test koşucusu olarak phantomjs'a tüm istekleri bana ileten bir sayfa yüklemesi talimatını veririm ve bunları net olarak iletirim; veya kesişim test edilen API ise).