2016-12-01 6 views
6

मैं जैस्मीन का उपयोग करके कोणीय 2 कोड के लिए टेस्ट केस लिख रहा हूं। उपयोगकर्ता लॉग आउट होने के बाद मैं लॉगिन पेज पर वापस नेविगेट करने का प्रयास कर रहा हूं। मैं पेज स्थान का परीक्षण कैसे कर सकता हूं?कोणीय के लिए जैस्मीन टेस्ट केस- दूसरे पृष्ठ पर नेविगेट करना

उत्तर

3

आपको केवल इतना करना है कि राउटर नेविगेट विधि को सही तर्क (यानी लॉगिन पृष्ठ का मार्ग) कहा जाता है। एक वास्तविक नेविगेशन का परीक्षण करने की कोशिश कर एक इकाई परीक्षण के लिए आवश्यक से अधिक दुष्प्रभाव पैदा कर सकता है।

यह जांचने के लिए कि Router.navigate विधि कहलाती है, बस उस पर एक स्टब और जासूसी का उपयोग करें।

@Component({}) 
class SomeComponent { 
    constructor(private router: Router) {} 

    logout() { 
    this.router.navigate(['/login']) 
    } 
} 

let routerStub; 

beforeEach(() => { 
    routerStub = { 
    navigate: jasmine.createSpy('navigate'); 
    } 
    TestBed.configureTestModule({ 
    declaration: [ SomeComponent ], 
    providers: [ 
     { provide: Router, useValue: routerStub } 
    ] 
    }); 
}); 

it('it should navigate to login after user logs out',() => { 
    let component = TestBed.createComponent(SomeComponent).componentInstance; 
    component.logout(); 

    expect(routerStub.navigate).toHaveBeenCalledWith(['/login']); 
}) 
+0

मैं राउटर का उपयोग नहीं कर रहा हूं। इसके बजाय, NavController का उपयोग कर। उस पर कोई सुझाव? – devtiwa

+0

NavController के लिए एक स्टब बनाएं और 'पुश' विधि या' setRoot' पर जासूसी करें। जो कभी भी आप –

+0

का उपयोग कर रहे हैं 'एनएवी = {setRoot: jasmine.createSpy (' setRoot ')} ' –

0

कोणीय टीम ने कोणीय वातावरण के सभी मूल पहलुओं में परीक्षण को शामिल करने के लिए कड़ी मेहनत की है। यदि आप मूल कोणीय राउटर का उपयोग कर रहे हैं तो उन्होंने आपके उपयोग के लिए परीक्षण बनाया है। यह BLOG देखें। यदि आप कोणीय राउटर का उपयोग नहीं कर रहे हैं, तो आप अपने आप सोचते हैं।

संबंधित मुद्दे