[25414] 2016-08-25_Mock在Python单元测试中的使用

文档创建者:s7ckTeam
浏览次数:1
最后更新:2025-01-19
2016-08-25_Mock在Python单元测试中的使用 M o c k     P y t h o n   使   c p o s t u r e   L i n u x   2 0 1 6 - 0 8 - 2 5   P y t h o n     M o c k   使   a p p   "   F a c e b o o k "     F a c e b o o k P y t h o n                 m o c k   [ 1 ]   P y t h o n   3 . 3     P y P I [ 2 ]     M o c k   u n i t t e s t u n i t t e s t . m o c k m o c k m o c k
  C D     / t m p     W e b     T C P     s o c k e t     C D   使   C D   访 使       P y t h o n   使   m o c k   使   P y t h o n   使 3 .   5 .           使 使   3 .   m o c k 1 .   # ! / u s r / b i n / e n v   p y t h o n 2 .   #   - * -   c o d i n g :   u t f - 8   - * - 4 .   i m p o r t   o s 6 .   d e f   r m ( f i l e n a m e ) : 7 .           o s . r e m o v e ( f i l e n a m e ) r m o s . r e m o v e m o c k 1 .   # ! / u s r / b i n / e n v   p y t h o n 2 .   #   - * -   c o d i n g :   u t f - 8   - * - 4 .   f r o m   m y m o d u l e   i m p o r t   r m
5 .   9 .   1 1 .   1 3 .   1 7 .           使 使   M o c k   使   m o c k   3 .   4 .   f r o m   m y m o d u l e   i m p o r t   r m 6 .   i m p o r t   o s . p a t h 7 .   i m p o r t   t e m p f i l e 8 .   i m p o r t   u n i t t e s t 1 0 .   c l a s s   R m T e s t C a s e ( u n i t t e s t . T e s t C a s e ) : 1 2 .           t m p f i l e p a t h   =   o s . p a t h . j o i n ( t e m p f i l e . g e t t e m p d i r ( ) ,   " t m p - t e s t f i l e " ) 1 4 .           d e f   s e t U p ( s e l f ) : 1 5 .                   w i t h   o p e n ( s e l f . t m p f i l e p a t h ,   " w b " )   a s   f : 1 6 .                           f . w r i t e ( " D e l e t e   m e ! " ) 1 8 .           d e f   t e s t _ r m ( s e l f ) : 1 9 .                   #   r e m o v e   t h e   f i l e 2 0 .                   r m ( s e l f . t m p f i l e p a t h ) 2 1 .                   #   t e s t   t h a t   i t   w a s   a c t u a l l y   r e m o v e d 2 2 .                   s e l f . a s s e r t F a l s e ( o s . p a t h . i s f i l e ( s e l f . t m p f i l e p a t h ) ,   " F a i l e d   t o   r e m o v e   t h e   f i l e . " ) r m o s . r e m o v e 1 .   # ! / u s r / b i n / e n v   p y t h o n 2 .   #   - * -   c o d i n g :   u t f - 8   - * - 4 .   f r o m   m y m o d u l e   i m p o r t   r m
5 .   8 .   1 0 .   使 使           m o c k               L C T T       便       P y t h o n           m o c k     6 .   i m p o r t   m o c k 7 .   i m p o r t   u n i t t e s t 9 .   c l a s s   R m T e s t C a s e ( u n i t t e s t . T e s t C a s e ) : 1 1 .           @ m o c k . p a t c h ( ' m y m o d u l e . o s ' ) 1 2 .           d e f   t e s t _ r m ( s e l f ,   m o c k _ o s ) : 1 3 .                   r m ( " a n y   p a t h " ) 1 4 .                   #   t e s t   t h a t   r m   c a l l e d   o s . r e m o v e   w i t h   t h e   r i g h t   p a r a m e t e r s 1 5 .                   m o c k _ o s . r e m o v e . a s s e r t _ c a l l e d _ w i t h ( " a n y   p a t h " ) m o c k . p a t c h m y m o d u l e . o s o s m y m o d u l e . o s o s @ m o c k . p a t c h ( ' m y m o d u l e . o s ' ) m y m o d u l e . o s o s m y m o d u l e o s o s m y m o d u l e
  仿 西           m o c k     r m     r m     r m   使 3 .   6 .   3 .   5 .   m y p r o j e c t . a p p . M y E l a b o r a t e C l a s s t e m p f i l e m y p r o j e c t . a p p . t e m p f i l e 1 .   # ! / u s r / b i n / e n v   p y t h o n 2 .   #   - * -   c o d i n g :   u t f - 8   - * - 4 .   i m p o r t   o s 5 .   i m p o r t   o s . p a t h 7 .   d e f   r m ( f i l e n a m e ) : 8 .           i f   o s . p a t h . i s f i l e ( f i l e n a m e ) : 9 .                   o s . r e m o v e ( f i l e n a m e ) 1 .   # ! / u s r / b i n / e n v   p y t h o n 2 .   #   - * -   c o d i n g :   u t f - 8   - * - 4 .   f r o m   m y m o d u l e   i m p o r t   r m
8 .   1 0 .   1 6 .   1 8 .   2 1 .   2 4 .   2 6 .     m o c k           6 .   i m p o r t   m o c k 7 .   i m p o r t   u n i t t e s t 9 .   c l a s s   R m T e s t C a s e ( u n i t t e s t . T e s t C a s e ) : 1 1 .           @ m o c k . p a t c h ( ' m y m o d u l e . o s . p a t h ' ) 1 2 .           @ m o c k . p a t c h ( ' m y m o d u l e . o s ' ) 1 3 .           d e f   t e s t _ r m ( s e l f ,   m o c k _ o s ,   m o c k _ p a t h ) : 1 4 .                   #   s e t   u p   t h e   m o c k 1 5 .                   m o c k _ p a t h . i s f i l e . r e t u r n _ v a l u e   =   F a l s e 1 7 .                   r m ( " a n y   p a t h " ) 1 9 .                   #   t e s t   t h a t   t h e   r e m o v e   c a l l   w a s   N O T   c a l l e d . 2 0 .                   s e l f . a s s e r t F a l s e ( m o c k _ o s . r e m o v e . c a l l e d ,   " F a i l e d   t o   n o t   r e m o v e   t h e   f i l e   i f   n o t   p r e s e n t . " ) 2 2 .                   #   m a k e   t h e   f i l e   ' e x i s t ' 2 3 .                   m o c k _ p a t h . i s f i l e . r e t u r n _ v a l u e   =   T r u e 2 5 .                   r m ( " a n y   p a t h " ) 2 7 .                   m o c k _ o s . r e m o v e . a s s e r t _ c a l l e d _ w i t h ( " a n y   p a t h " ) r m m o c k
3 .   6 .   9 .   3 .   5 .   8 .   1 0 .   1 6 .   1 .   # ! / u s r / b i n / e n v   p y t h o n 2 .   #   - * -   c o d i n g :   u t f - 8   - * - 4 .   i m p o r t   o s 5 .   i m p o r t   o s . p a t h 7 .   c l a s s   R e m o v a l S e r v i c e ( o b j e c t ) : 8 .           " " " A   s e r v i c e   f o r   r e m o v i n g   o b j e c t s   f r o m   t h e   f i l e s y s t e m . " " " 1 0 .           d e f   r m ( f i l e n a m e ) : 1 1 .                   i f   o s . p a t h . i s f i l e ( f i l e n a m e ) : 1 2 .                           o s . r e m o v e ( f i l e n a m e ) 1 .   # ! / u s r / b i n / e n v   p y t h o n 2 .   #   - * -   c o d i n g :   u t f - 8   - * - 4 .   f r o m   m y m o d u l e   i m p o r t   R e m o v a l S e r v i c e 6 .   i m p o r t   m o c k 7 .   i m p o r t   u n i t t e s t 9 .   c l a s s   R e m o v a l S e r v i c e T e s t C a s e ( u n i t t e s t . T e s t C a s e ) : 1 1 .           @ m o c k . p a t c h ( ' m y m o d u l e . o s . p a t h ' ) 1 2 .           @ m o c k . p a t c h ( ' m y m o d u l e . o s ' ) 1 3 .           d e f   t e s t _ r m ( s e l f ,   m o c k _ o s ,   m o c k _ p a t h ) : 1 4 .                   #   i n s t a n t i a t e   o u r   s e r v i c e 1 5 .                   r e f e r e n c e   =   R e m o v a l S e r v i c e ( )
1 9 .   2 1 .   2 4 .   2 7 .   2 9 .           3 .   6 .   9 .   1 7 .                   #   s e t   u p   t h e   m o c k 1 8 .                   m o c k _ p a t h . i s f i l e . r e t u r n _ v a l u e   =   F a l s e 2 0 .                   r e f e r e n c e . r m ( " a n y   p a t h " ) 2 2 .                   #   t e s t   t h a t   t h e   r e m o v e   c a l l   w a s   N O T   c a l l e d . 2 3 .                   s e l f . a s s e r t F a l s e ( m o c k _ o s . r e m o v e . c a l l e d ,   " F a i l e d   t o   n o t   r e m o v e   t h e   f i l e   i f   n o t   p r e s e n t . " ) 2 5 .                   #   m a k e   t h e   f i l e   ' e x i s t ' 2 6 .                   m o c k _ p a t h . i s f i l e . r e t u r n _ v a l u e   =   T r u e 2 8 .                   r e f e r e n c e . r m ( " a n y   p a t h " ) 3 0 .                   m o c k _ o s . r e m o v e . a s s e r t _ c a l l e d _ w i t h ( " a n y   p a t h " ) R e m o v a l S e r v i c e R e m o v a l S e r v i c e 1 .   # ! / u s r / b i n / e n v   p y t h o n 2 .   #   - * -   c o d i n g :   u t f - 8   - * - 4 .   i m p o r t   o s 5 .   i m p o r t   o s . p a t h 7 .   c l a s s   R e m o v a l S e r v i c e ( o b j e c t ) : 8 .           " " " A   s e r v i c e   f o r   r e m o v i n g   o b j e c t s   f r o m   t h e   f i l e s y s t e m . " " " 1 0 .           d e f   r m ( s e l f ,   f i l e n a m e ) : 1 1 .                   i f   o s . p a t h . i s f i l e ( f i l e n a m e ) :                         o s . r e m o v e ( f i l e n a m e )
1 3 .   1 4 .   1 6 .   1 9 .                     便 1 .     R e m o v a l S e r v i c e . r m   2 .     U p l o a d S e r v i c e     1       3 .   1 2 .                           o s . r e m o v e ( f i l e n a m e ) 1 5 .   c l a s s   U p l o a d S e r v i c e ( o b j e c t ) : 1 7 .           d e f   _ _ i n i t _ _ ( s e l f ,   r e m o v a l _ s e r v i c e ) : 1 8 .                   s e l f . r e m o v a l _ s e r v i c e   =   r e m o v a l _ s e r v i c e 2 0 .           d e f   u p l o a d _ c o m p l e t e ( s e l f ,   f i l e n a m e ) : 2 1 .                   s e l f . r e m o v a l _ s e r v i c e . r m ( f i l e n a m e ) R e m o v a l S e r v i c e U p l o a d S e r v i c e r m U p l o a d S e r v i c e R e m o v a l S e r v i c e . r m m o c k @ m o c k . p a t c h . o b j e c t   d e c o r a t o r 1 .   # ! / u s r / b i n / e n v   p y t h o n 2 .   #   - * -   c o d i n g :   u t f - 8   - * - 4 .   f r o m   m y m o d u l e   i m p o r t   R e m o v a l S e r v i c e ,   U p l o a d S e r v i c e
5 .   8 .   1 0 .   1 6 .   1 9 .   2 1 .   2 4 .   2 7 .   2 9 .   3 1 .   3 2 .   3 4 .   6 .   i m p o r t   m o c k 7 .   i m p o r t   u n i t t e s t 9 .   c l a s s   R e m o v a l S e r v i c e T e s t C a s e ( u n i t t e s t . T e s t C a s e ) : 1 1 .           @ m o c k . p a t c h ( ' m y m o d u l e . o s . p a t h ' ) 1 2 .           @ m o c k . p a t c h ( ' m y m o d u l e . o s ' ) 1 3 .           d e f   t e s t _ r m ( s e l f ,   m o c k _ o s ,   m o c k _ p a t h ) : 1 4 .                   #   i n s t a n t i a t e   o u r   s e r v i c e 1 5 .                   r e f e r e n c e   =   R e m o v a l S e r v i c e ( ) 1 7 .                   #   s e t   u p   t h e   m o c k 1 8 .                   m o c k _ p a t h . i s f i l e . r e t u r n _ v a l u e   =   F a l s e 2 0 .                   r e f e r e n c e . r m ( " a n y   p a t h " ) 2 2 .                   #   t e s t   t h a t   t h e   r e m o v e   c a l l   w a s   N O T   c a l l e d . 2 3 .                   s e l f . a s s e r t F a l s e ( m o c k _ o s . r e m o v e . c a l l e d ,   " F a i l e d   t o   n o t   r e m o v e   t h e   f i l e   i f   n o t   p r e s e n t . " ) 2 5 .                   #   m a k e   t h e   f i l e   ' e x i s t ' 2 6 .                   m o c k _ p a t h . i s f i l e . r e t u r n _ v a l u e   =   T r u e 2 8 .                   r e f e r e n c e . r m ( " a n y   p a t h " ) 3 0 .                   m o c k _ o s . r e m o v e . a s s e r t _ c a l l e d _ w i t h ( " a n y   p a t h " ) 3 3 .   c l a s s   U p l o a d S e r v i c e T e s t C a s e ( u n i t t e s t . T e s t C a s e ) : 3 5 .           @ m o c k . p a t c h . o b j e c t ( R e m o v a l S e r v i c e ,   ' r m ' )
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则