2017-02-20 1 views
0

저는 프로젝트를위한 단위 테스트 도구로 각도기와 재스민을 사용하고 있습니다. 나는 예를 들어 종속 테스트 케이스를 작성하고 싶다. 테스트 케이스 1이 실패하면 테스트 케이스 2를 실행하지 말고 대신 테스트 케이스 3을 직접 실행하십시오. 각도기에서 가능합니까? 그렇다면 어떻게?분도기/재스민에서 종속 테스트 케이스를 작성하는 방법은 무엇입니까?

conf.js 

    suites: { 
      network: 'consumerIndex.js', 
      platform: 'adminIndex.js' 

    } 

adminIndex.js

describe('Protractor Demo CTL App', function() { 

      require('./adminPage.js'); 
      require('./addSeatPage.js'); 
      require('./groupusers.js'); 
      require('./invoiceSettings.js'); 

    }); 

addSeatPage.js

나는 경우 1이 실패 할 경우 경우 3로 이동하려는
it('case 1 ', function() { 
      browser.driver.sleep(10000);  
      addSeat.productLink; 
      expect(browser.getLocationAbsUrl()).toMatch("/seatSummarydsds");  
    }); 
    it('case 2 ', function() { 

      browser.driver.sleep(10000);  
      element(by.css('[ng-click="goToBuyProducts()"]')).click(); 
      expect(browser.getLocationAbsUrl()).toMatch("/addSeat"); 

    }); 

    it('case 3', function() { 
      browser.driver.sleep(10000);  
      addSeat.addToCart(browser.params.testData.datetimeTxt); 
      expect(element(by.css('.errLabel')).isDisplayed()).toBe(true); 
    }); 

. addSeatPage.js에있는 사례 중 하나라도 실패하면 다음 spec 파일, 즉 groupusers.js로 바로 이동할 수있는 솔루션이 있습니까?

+1

일부 코드를 추가하십시오. 너 지금 뭐 해봤 니? – lin

+0

종속 통합 테스트를 작성하는 것은 나쁜 습관입니다. 테스트는 항상 서로 독립적이어야합니다! 그러나 당신은이 링크를 checkout 수 있습니다 - http://stackoverflow.com/questions/32617196/testing-if-a-jasmine-test-fails –

답변

0

종속 테스트 케이스가 하나의 it() { ...} 블록 내에 있어야한다고 생각합니다. 테스트 케이스가 서로 의존하면 악취가납니다. 소프트웨어 테스트의 첫 번째 규칙 중 하나입니다. 격리 된 테스트 케이스 항상 작성하십시오.

관련 문제