test_mycode.py 文件打印出测试用例:

class="table-box">

1

2

3

4

@given(text())

def test_decode_inverts_encode(self, s):

 print(f"{s=}")

 self.assertEqual(decode(encode(s)), s)

再次执行:

class="table-box">

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

30

31

32

33

34

35

36

37

38

39

40

41

42

43

44

45

46

47

48

49

50

51

52

53

54

55

56

57

58

59

60

61

62

63

64

65

66

67

68

69

70

71

72

73

74

75

76

77

78

79

80

81

82

83

84

85

86

87

88

89

90

91

92

93

94

95

96

97

98

99

100

101

102

103

104

105

106

(py38env) ➜ tmp python test_mycode.py

s=''

s='1'

s='0'

s='0'

s='0'

s='Ā'

s='\U000cf5e5'

s='0'

s=''

s='0'

s='0'

s='E'

s=")dù'\x18\U0003deb3¤jd"

s='\U0005bc37\x07\U000537a1ÝÀãiÎ\U000ce9e5\x0b'

s='\U0005bc37\U0005bc37\U000537a1ÝÀãiÎ\U000ce9e5\x0b'

s='\U0005bc37\U000537a1\U000537a1ÝÀãiÎ\U000ce9e5\x0b'

s='À\U000537a1\U000537a1ÝÀãiÎ\U000ce9e5\x0b'

s='\U000965e1\x12\x85&\U000f500aÄÃc'

s='\n\U0004466c\x86Î\x07'

s='Ê\U00063f1e\x01G\x88'

s='ÚV\n'

s='VV\n'

s='\U0008debf湆è'

s='\U0008debf湆è'

s='\U0008debf湆'

s='\U0008debf\U0008debf'

s='\U0008debf\U0008debfó]½àq\x82#\U00015196\U0001c8beg'

s='\U0008debfgó]½àq\x82#\U00015196\U0001c8beg'

s='?'

s='Î'

s='Î\U00085b9e'

s="Î8'?\U00057c38Ù;\x07\U000a5ea8Ò»=\U00091d5b~8뺈"

s='\U000d6497Ý>'

s='\U000e0f01'

s='\U000e0f01Å0y¢KN®'

s='\U000e0f01Å0y¢KN®'

s='\U00050a06'

s='Å\U000b98b3か\U000ba80aá`Ã-Êu\x8c\x90³FÔ"'

s='\x8e\U0004612a\x83ç'

s='\x8e'

s='\x8e\x98\U000fb3e0\U0010d2b3\x10\x82\x94Ð渥'

s='¥W'

s='p\U000e5a2aE·`ì'

s='\U000b80f8\x12\U000c2d54'

s='.\U000703de'

s='6\U00010ffa\U000f7994\x8e'

s='116\U000f7994\x8e'

s='1?6\U000f7994\x8e'

s='4?6\U000f7994\x8e'

s='4\x8e6\U000f7994\x8e'

s='0'

s='\U0006a564´Ð\x93ü\x9eb&i\x1cÑ'

s='\U000ceb6f'

s='\U000ceb6f\xa0\x08'

s='\U000ceb6f\xa0\x08'

s='\U000ceb6fꄃ\x08'

s='\U000ceb6fꄃ匀\U0007cc15\U000b2aaa×**'

s='\U000ceb6fꄃ匀'

s='匀ꄃ匀'

s='J\x14?ö'

s='q)'

s='q)'

s='q\U00060931'

s='q6'

s='\U000e3441'

s='\U000e3441\U00019958¯'

s='\x13'

s='\U000f34dbk'

s='Kp&tÛà'

s='\nö\x93'

s='\n\n\x93'

s='\U00019c8dѳ\U00056cbd\U000e3b2f\U00058d302'

s='\x90=R\x8bß\x03'

s='\x9a'

s='\U000147e7'

s='\U000147e7\x85\U0007a3ef'

s='\U000147e7\U00050a070Â>'

s='\U000a4089\x0eC+RÁ\x02\x97\x9cüÌïSS\U0006cbc5;ÿ~\x16\x019VÇ\U000a32fdQ÷\x15'

s='ÞÚ¾\x19©Z®'

s='ਸ਼æ'

s='\U000cd45a'

s='\U000cd45a\U000e15cbÑ\x08J\ueb3eúß\x07I\x91\x9a\x18\x16Ç\x80\x1a'

s='\x8f}º\x0eq\x0b'

s='\x0e}º\x0eq\x0b'

s="\U000e05a3&¶º[fõ\x8bÜR'ͼt\x97íW\x05\U000caea9\U0008fd74\U000e8f1c¹?dfƾ\x13"

s='\x10\U000e12e2ù\U0006f96erý\U00014baf\x00\x95\U000dbc92É\U00081613µ\U0003b865Z\U0008cc3c'

s='ú\U000b561f\x8fÎ'

s='\tàÖ÷'

s='à\x92©Ì\U000618fa\x92'

s='\U000aaf94\x94\x84\U000cda69\U0005291a\U000a63deþ¿O\x8a>\U000b458bÊ.\U00086f07\x1a'

s='\U0009754e?U_\xa0\x13PQ\x18º\x07\U0006c9c5.Á'

s='\U00102456'

s='³WᵎÕ'

s='\x14\x1c'

s='\x14'

s='\x14\U00105bcd"\x10Ô\x99\U000a5032R\U00056c44V&÷>+\U000aaff2ñ®\U000d7570%ª!\U00032553´8x^«'

s='\x00\U000e2ac4¼ÄUrB'

s='\x00\U000e2ac4¼ÄUrB'

s='\x00\U000e2ac4¼ÄUrB'

s='ª\x1aU\x8aÇ\U000b2fb9\U0005a586'

.

----------------------------------------------------------------------

Ran 1 test in 0.180s

OK

从执行结果可以看出,'' 首先被测试,其次 hypothesis 使用了大量的极端测试用例,减轻了手写的负担,大大提升了效率。

虽然 hypothesis 具有自动记忆功能,你仍然可以显式的指定某个测试用例一直被测试,而且这是推荐的做法,比如我想在每次的测试中都测试 '',可以这样写:

class="table-box">

1

2

3

4

5

6

7

8

from hypothesis import given, example

from hypothesis.strategies import text

@given(text())

@example("")

def test_decode_inverts_encode(s):

 assert decode(encode(s)) == s

这一点非常有用,提升了测试代码的可读性,可以用来告诉开发人员或者未来的自己,输入的字符串必须要考虑 '' 的情形。

此外,执行单元测试,不一定要使用 unittest.main(),也可以这样,是不是很方便:

class="table-box">

1

2

if __name__ == "__main__":

 test_decode_inverts_encode()

最后感谢每一个认真阅读我文章的人,看着粉丝一路的上涨和关注,礼尚往来总是要有的,虽然不是什么很值钱的东西,如果你用得到的话可以直接拿走! 希望能帮助到你!【100%无套路免费领取】

data-report-view="{"mod":"1585297308_001","spm":"1001.2101.3001.6548","dest":"https://blog.csdn.net/weixin_57794111/article/details/144401593","extend1":"pc","ab":"new"}">> id="blogExtensionBox" style="width:400px;margin:auto;margin-top:12px" class="blog-extension-box"> class="blog_extension blog_extension_type1" id="blog_extension"> class="blog_extension_card" data-report-click="{"spm":"1001.2101.3001.6470"}" data-report-view="{"spm":"1001.2101.3001.6470"}"> class="blog_extension_card_left"> class="blog_extension_card_cont"> class="blog_extension_card_cont_l"> 软件测试小dao class="blog_extension_card_cont_r"> 微信公众号 软件测试资料共享(文档、视频、笔记源码)
注:本文转载自blog.csdn.net的yoyo小小汐~的文章"https://blog.csdn.net/weixin_57794111/article/details/144401593"。版权归原作者所有,此博客不拥有其著作权,亦不承担相应法律责任。如有侵权,请联系我们删除。
复制链接

评论记录:

未查询到任何数据!