javascript - ฉันจะสร้างกรณีทดสอบตามเงื่อนไขโดยใช้ Protractor ได้อย่างไร?
ปัจจุบัน ฉันมีชุดทดสอบบางชุดที่ฉันต้องการรันเฉพาะในบางเงื่อนไขเท่านั้น
it ('user is able to log in', function() {
if(siteAllowsLogin) {
.....
}
การใช้ไวยากรณ์ข้างต้นทำให้ sitesNotAllowingLogin ผ่านการทดสอบนี้ ฉันรู้ว่ามีวิธีแก้ไขเพื่อทำเครื่องหมายการทดสอบว่าอยู่ในสถานะ PENDING แต่ฉันต้องการให้การทดสอบไม่แสดง หากมันไม่สามารถใช้ได้
ฉันก็อยากเก็บตรรกะไว้ภายในกรณีทดสอบด้วย ถ้าเป็นไปได้ ดังนั้นเก็บบล็อก if ไว้ภายในกรณีทดสอบ
มีคำแนะนำเกี่ยวกับวิธีข้ามการทดสอบนี้ถ้าเงื่อนไขไม่เป็นไปตามที่กำหนด เพื่อที่จะไม่แสดงผลลัพธ์เป็น PENDING หรือ PASSED ไหม
ความช่วยเหลือจะได้รับการชื่นชมอย่างมาก
คำตอบ #1
คุณสามารถใช้ฟังก์ชัน ignore ข้างหน้าเพื่อระงับการทดสอบหากนิพจน์เงื่อนไข/สถานะที่ให้มาถูกต้อง:
var ignore = function(exp){return{it:((typeof exp==='function')?exp():exp)?function(){}:it}};
describe('Suite 1', function() {
it("test a", function() {
expect(1).toEqual(1);
});
ignore(true).it("test b", function() {
expect(1).toEqual(1);
});
ignore(skip).it("test c", function() {
expect(1).toEqual(1);
});
function skip(){
return true;
}
});
